diff options
author | Denton Liu <liu.denton@gmail.com> | 2020-09-20 04:22:25 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-09-20 21:30:26 -0700 |
commit | 0f5a1d449b9538c2765de9d6683abbb83a7fb4e2 (patch) | |
tree | 29cbd67c4138aed23542fb1030c3c718bba6ae9e /builtin/diff.c | |
parent | t4068: add --merge-base tests (diff) | |
download | tgif-0f5a1d449b9538c2765de9d6683abbb83a7fb4e2.tar.xz |
builtin/diff-index: learn --merge-base
There is currently no easy way to take the diff between the working tree
or index and the merge base between an arbitrary commit and HEAD. Even
diff's `...` notation doesn't allow this because it only works between
commits. However, the ability to do this would be desirable to a user
who would like to see all the changes they've made on a branch plus
uncommitted changes without taking into account changes made in the
upstream branch.
Teach diff-index and diff (with one commit) the --merge-base option
which allows a user to use the merge base of a commit and HEAD as the
"before" side.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/diff.c')
-rw-r--r-- | builtin/diff.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/diff.c b/builtin/diff.c index e45e19e37e..1baea18ae0 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -139,6 +139,8 @@ static int builtin_diff_index(struct rev_info *revs, const char *arg = argv[1]; if (!strcmp(arg, "--cached") || !strcmp(arg, "--staged")) option |= DIFF_INDEX_CACHED; + else if (!strcmp(arg, "--merge-base")) + option |= DIFF_INDEX_MERGE_BASE; else usage(builtin_diff_usage); argv++; argc--; |