зеркало из https://github.com/microsoft/git.git
git-diff A...B to (usually) mean "git-diff `git-merge-base A B` B"
This tweaks the argument parser of "git diff" to allow "git-diff A...B" to show diffs leading to B since their merge-base, when there is only one sensible merge base between A and B. Currently nonsense cases are thrown at combined-diff to produce nonsense results, which would eventually need to be fixed. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Родитель
b9718d41c7
Коммит
9919f41c91
|
@ -346,7 +346,15 @@ int cmd_diff(int argc, const char **argv, char **envp)
|
|||
return builtin_diff_index(&rev, argc, argv);
|
||||
else if (ents == 2)
|
||||
return builtin_diff_tree(&rev, argc, argv, ent);
|
||||
else if ((ents == 3) && (ent[0].item->flags & UNINTERESTING)) {
|
||||
/* diff A...B where there is one sane merge base between
|
||||
* A and B. We have ent[0] == merge-base, ent[1] == A,
|
||||
* and ent[2] == B. Show diff between the base and B.
|
||||
*/
|
||||
return builtin_diff_tree(&rev, argc, argv, ent);
|
||||
}
|
||||
else
|
||||
return builtin_diff_combined(&rev, argc, argv, ent, ents);
|
||||
return builtin_diff_combined(&rev, argc, argv,
|
||||
ent, ents);
|
||||
usage(builtin_diff_usage);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче