diff: vary default prefix depending on what are compared

With a new configuration "diff.mnemonicprefix", "git diff" shows the
differences between various combinations of preimage and postimage trees
with prefixes different from the standard "a/" and "b/".  Hopefully this
will make the distinction stand out for some people.

    "git diff" compares the (i)ndex and the (w)ork tree;
    "git diff HEAD" compares a (c)ommit and the (w)ork tree;
    "git diff --cached" compares a (c)ommit and the (i)ndex;
    "git-diff HEAD:file1 file2" compares an (o)bject and a (w)ork tree entity;
    "git diff --no-index a b" compares two non-git things (1) and (2).

Because these mnemonics now have meanings, they are swapped when reverse
diff is in effect and this feature is enabled.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2008-08-18 20:08:09 -07:00
parent 53d1589ff6
commit a5a818ee48
7 changed files with 70 additions and 8 deletions

2
diff.h
View File

@ -160,6 +160,8 @@ extern void diff_tree_combined(const unsigned char *sha1, const unsigned char pa
extern void diff_tree_combined_merge(const unsigned char *sha1, int, struct rev_info *);
void diff_set_mnemonic_prefix(struct diff_options *options, const char *a, const char *b);
extern void diff_addremove(struct diff_options *,
int addremove,
unsigned mode,