From: Dmitry Nikulin <pastafariant@gmail.com>
To: Jeff King <peff@peff.net>
Cc: phillip.wood@dunelm.org.uk, Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org, szeder.dev@gmail.com
Subject: Re: git-diff passes <rev>:<path> args to GIT_EXTERNAL_DIFF incorrectly?
Date: Fri, 30 Aug 2019 18:28:05 +0300 [thread overview]
Message-ID: <CAH53SyniovbvYoU1nhMobRq7nZREENiagJqN9LAYmZsGMpc+ww@mail.gmail.com> (raw)
In-Reply-To: <20190830142730.GB16327@sigill.intra.peff.net>
On Fri, 30 Aug 2019 at 17:27, Jeff King <peff@peff.net> wrote:
> I think you have an extra "old-filename" in the second list.
Agreed. My misunderstanding was that I had thought that when
documentation said "path", it meant "argv[0], the path to the diff
executable".
> Interesting. I _don't_ see that splitting when I run the same command in
> your demo repo (nor, looking at Git's code, do I see how it could
> happen; we always add the metainfo as a single argument).
Szeder Gábor below has guessed at the cause. I have tested it a little more:
# Test script to ensure that shell does not get in the way
$ cat test.py
import sys
import subprocess
subprocess.check_call([
'python%s' % sys.argv[1],
'./print_argv.py',
'similarity index 90%\nrename from file1.txt\nrename to
file1-mv.txt\nindex 2bef330..f8fd673 100644\n',
])
# Python 2, expected behavior
$ python3 test.py 2
['./print_argv.py',
'similarity index 90%\nrename from file1.txt\nrename to
file1-mv.txt\nindex 2bef330..f8fd673 100644\n']
# Python 3, broken behavior observed before
$ python3 test.py 3
['./print_argv.py',
'similarity index 90%\n'
'rename from file1.txt\n'
'rename to file1-mv.txt\n'
'index 2bef330..f8fd673 100644\n']
# Directly via shell. Python 2, expected behavior
$ python2 print_argv.py 'similarity index 90%\nrename from
file1.txt\nrename to file1-mv.txt\nindex 2bef330..f8fd673 100644\n'
['print_argv.py',
'similarity index 90%\\nrename from file1.txt\\nrename to
file1-mv.txt\\nindex 2bef330..f8fd673 100644\\n']
# Python 3, WTF
$ python3 print_argv.py 'similarity index 90%\nrename from
file1.txt\nrename to file1-mv.txt\nindex 2bef330..f8fd673 100644\n'
['print_argv.py',
'similarity index 90%\\nrename from file1.txt\\nrename to '
'file1-mv.txt\\nindex 2bef330..f8fd673 100644\\n']
next prev parent reply other threads:[~2019-08-30 15:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-27 18:24 git-diff passes <rev>:<path> args to GIT_EXTERNAL_DIFF incorrectly? Dmitry Nikulin
2019-08-27 22:25 ` Dmitry Nikulin
2019-08-29 3:54 ` Junio C Hamano
2019-08-29 14:36 ` Dmitry Nikulin
2019-08-30 10:16 ` Phillip Wood
2019-08-30 13:23 ` Dmitry Nikulin
2019-08-30 14:17 ` Phillip Wood
2019-08-30 14:27 ` Jeff King
2019-08-30 15:28 ` Dmitry Nikulin [this message]
2019-08-30 15:51 ` Dmitry Nikulin
2019-08-30 14:29 ` SZEDER Gábor
2019-08-30 16:26 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAH53SyniovbvYoU1nhMobRq7nZREENiagJqN9LAYmZsGMpc+ww@mail.gmail.com \
--to=pastafariant@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=phillip.wood@dunelm.org.uk \
--cc=szeder.dev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).