git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [TopGit PATCH 10/10] [RFC] tg-patch: simulate mnemonic prefixes

From
Bert Wesarg <bert.wesarg@googlemail.com>
Date
Oct 9, 2010, 21:03 UTC
Message-ID
<AANLkTinzjwt6FAE2kau5M5MAWMAJ-az=YYxN7ehzq37c@mail.gmail.com>
In-Reply-To
<20101009204640.GP29673@pengutronix.de>
2010/10/9 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:
Show 41 quoted lines
> 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 <bert.wesarg@googlemail.com>
>> ---
>>  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.

Show 6 quoted lines
>
> 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
Previous: Uwe Kleine-KönigNext: Uwe Kleine-König
Message 12 of 16 in “cat_file: take -i/-w parameters”
  1. 01/10 cat_file: take -i/-w parametersBert Wesarg, Oct 8, 2010
  2. 02/10 pretty_tree: globalize and respect -i/-w optionsBert Wesarg, Oct 8, 2010
  3. 03/10 branch_empty: use pretty_tree and therefore respect -i/-wBert Wesarg, Oct 8, 2010
  4. 04/10 tg-path: use pretty_tree and diff-tree to generate the patchBert Wesarg, Oct 8, 2010
  5. 05/10 list_deps: accept -i/-wBert Wesarg, Oct 8, 2010
  6. 06/10 tg-summary: accept -i/-wBert Wesarg, Oct 8, 2010
  7. 07/10 tg-files: list files changed by the topic branchBert Wesarg, Oct 8, 2010
  8. 08/10 tg-prev/tg-next: commands to explore dependenciesBert Wesarg, Oct 8, 2010
  9. 09/10 [RFC] tg-patch: use ui diff when pager is activeBert Wesarg, Oct 8, 2010
  10. 10/10 [RFC] tg-patch: simulate mnemonic prefixesBert Wesarg, Oct 8, 2010
  11. Uwe Kleine-KönigOct 9, 2010
  12. Bert WesargOct 9, 2010
  13. Uwe Kleine-KönigOct 9, 2010
  14. Bert WesargOct 10, 2010
  15. Uwe Kleine-KönigOct 9, 2010
  16. Bert WesargOct 9, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.