From: Bert Wesarg Date: Sat, 09 Oct 2010 21:03:00 GMT Subject: Re: [TopGit PATCH 10/10] [RFC] tg-patch: simulate mnemonic prefixes Message-ID: In-Reply-To: <20101009204640.GP29673@pengutronix.de> 2010/10/9 Uwe Kleine-König : > On Fri, Oct 08, 2010 at 09:58:08AM +0200, Bert Wesarg wrote: >> b/ is for base, i/ and w/ correspond to -i/-w and t/ is the committed >> topic. >> >> Signed-off-by: Bert Wesarg >> --- >>  tg-patch.sh |    8 ++++++-- >>  1 files changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/tg-patch.sh b/tg-patch.sh >> index dcce672..c8ad723 100644 tg-patch.sh >> --- a/tg-patch.sh >> +++ b/tg-patch.sh >> @@ -6,7 +6,7 @@ >>  name= >> >>  head_from= >> - >> +dst_prefix="t/" >> >>  ## Parse options >> >> @@ -15,7 +15,8 @@ while [ -n "$1" ]; do >>       case "$arg" in >>       -i|-w) >>               [ -z "$head_from" ] || die "-i and -w are mutually exclusive" >> -             head_from="$arg";; >> +             head_from="$arg" >> +             dst_prefix="${arg#-}/";; >>       -*) >>               echo "Usage: tg [...] patch [-i | -w] [NAME]" >&2 >>               exit 1;; >> @@ -72,6 +73,9 @@ if [ $b_tree = $t_tree ]; then >>  else >>       # use the ui diff command when the pager is active >>       diff_command=diff >> +     if $(git config --bool diff.mnemonicprefix); then >> +             diff_command="$diff_command --src-prefix=b/ --dst-prefix=$dst_prefix" >> +     fi > Do I assume right, that diff.mnemonicprefix is topgitish only?   Maybe > it should go then into a topgit namespace? No. it is from git. From the manual: diff.mnemonicprefix If set, git diff uses a prefix pair that is different from the standard "a/" and "b/" depending on what is being compared. When this configuration is in effect, reverse diff output also swaps the order of the prefixes: 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). And it is only a diff ui option too. I thought to take c/ for the committed case for us too, but I have also no strong opinion about t/ either. > > Hmm, nice idea, the only thing about it I don't like ad hoc is that b/ > is already used by default and so it might be confusing.  OTOH you need > to enabled it in the config, ...  Hmm, will think about it. > > Uwe