|
|
|
@ -347,7 +347,15 @@ int cmd_diff(int argc, const char **argv, char **envp)
@@ -347,7 +347,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); |
|
|
|
|
} |
|
|
|
|