From: Luke Diamand <luke@diamand.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Jonathan Nieder <jrnieder@gmail.com>,
Chris Lasell <chrisl@pixar.com>
Subject: Re: [PATCH 2/2] git-p4: fix handling of multi-word P4EDITOR
Date: Thu, 07 May 2015 20:27:58 +0100 [thread overview]
Message-ID: <554BBCBE.1020408@diamand.org> (raw)
In-Reply-To: <xmqqr3qsp8a0.fsf@gitster.dls.corp.google.com>
On 07/05/15 19:11, Junio C Hamano wrote:
> Luke Diamand <luke@diamand.org> writes:
>
>
> Does the real Perforce, when spawning P4EDITOR, behave the same way?
>
> If not, this patch would be breaking not just the expectation of
> existing git-p4 users (which we cannot avoid and which we are
> willing to do) but also breaking things for people who _will_ come
> to us in the future, expecting that
>
> export P4EDITOR="/Users/me/My Programs/my-editor"
>
> to work as they expect. If they already have to do
>
> export P4EDITOR="'/Users/me/My Programs/my-editor'"
>
> then there is no problem, but because I am not a P4EDITOR user, I am
> merely double checking.
On Linux:
$ export P4EDITOR="gvim -f"
$ p4 submit
-- works as you would hope --
$ export P4EDITOR="/home/lgd/My Programs/editor.sh"
$ p4 submit
sh: 1: /home/lgd/My: not found
$ export P4EDITOR="/home/lgd/My\ Programs/editor.sh"
-- works fine --
I don't know what happens on Windows. But I think the "sh -c" code would
break on that platform, whereas the current code works fine (*)
Luke
(*) I should probably get a Windows test environment going somehow so I
can check this stuff.
>
>>
>> Suggested-by: Jonathan Nieder <jrnieder@gmail.com>
>> Signed-off-by: Luke Diamand <luke@diamand.org>
>> ---
>> git-p4.py | 2 +-
>> t/t9820-git-p4-editor-handling.sh | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/git-p4.py b/git-p4.py
>> index 41a77e6..ca6bb95 100755
>> --- a/git-p4.py
>> +++ b/git-p4.py
>> @@ -1248,7 +1248,7 @@ class P4Submit(Command, P4UserMap):
>> editor = os.environ.get("P4EDITOR")
>> else:
>> editor = read_pipe("git var GIT_EDITOR").strip()
>> - system([editor, template_file])
>> + system(["sh", "-c", ('%s "$@"' % editor), editor, template_file])
>>
>> # If the file was not saved, prompt to see if this patch should
>> # be skipped. But skip this verification step if configured so.
>> diff --git a/t/t9820-git-p4-editor-handling.sh b/t/t9820-git-p4-editor-handling.sh
>> index e0a3c52..c178bd7 100755
>> --- a/t/t9820-git-p4-editor-handling.sh
>> +++ b/t/t9820-git-p4-editor-handling.sh
>> @@ -17,9 +17,9 @@ test_expect_success 'init depot' '
>> )
>> '
>>
>> -test_expect_failure 'EDITOR has options' '
>> # Check that the P4EDITOR argument can be given command-line
>> # options, which git-p4 will then pass through to the shell.
>> +test_expect_success 'EDITOR has options' '
>> git p4 clone --dest="$git" //depot &&
>> test_when_finished cleanup_git &&
>> (
next prev parent reply other threads:[~2015-05-07 19:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-07 17:24 [PATCH 0/2] Re: Bug: git-p4 edit_template() and P4EDITOR w/options Luke Diamand
2015-05-07 17:25 ` [PATCH 1/2] git-p4: add failing test for P4EDITOR handling Luke Diamand
2015-05-07 17:25 ` [PATCH 2/2] git-p4: fix handling of multi-word P4EDITOR Luke Diamand
2015-05-07 18:11 ` Junio C Hamano
2015-05-07 19:27 ` Luke Diamand [this message]
2015-05-07 20:16 ` Junio C Hamano
2015-05-07 20:42 ` Luke Diamand
2015-05-07 21:06 ` Junio C Hamano
2015-05-07 21:16 ` Junio C Hamano
2015-05-07 22:04 ` Luke Diamand
2015-05-07 22:16 ` Junio C Hamano
2015-05-24 9:28 ` Luke Diamand
2015-05-26 20:21 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=554BBCBE.1020408@diamand.org \
--to=luke@diamand.org \
--cc=chrisl@pixar.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.