threads / patch / 22151

patchRe: [PATCH] git-p4: Fix empty submit template when editor fires up

Subject: Re: [PATCH] git-p4: Fix empty submit template when editor fires up

## tl;dr

3 messages between Jan 10, 2010 and Jan 10, 2010. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Jonathan Nieder· Jan 10, 2010, 11:11 UTC · lore
Kevin Leung wrote:
> read_pipe() returns "\n". We need to remove it before passing it
> to system().
> 
> Signed-off-by: Kevin Leung <kevinlsk@gmail.com>

If I understand correctly, this is a cosmetic change: os.system() calls system(3), which uses 'sh -c', which has no problem coping with an extra newline at the end. So 'need' seems too strong a word. Still, the change sounds sensible.

Show 20 quoted lines
> ---
>  contrib/fast-import/git-p4 |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
> index 0cef242..04bf4f4 100755
> --- a/contrib/fast-import/git-p4
> +++ b/contrib/fast-import/git-p4
> @@ -732,8 +732,8 @@ class P4Submit(Command):
>              if os.environ.has_key("P4EDITOR"):
>                  editor = os.environ.get("P4EDITOR")
>              else:
> -                editor = read_pipe("git var GIT_EDITOR")
> -            system(editor + " " + fileName)
> +                editor = read_pipe("git var GIT_EDITOR").strip()
> +            system("%s %s" % (editor, fileName))
>  
>              response = "y"
>              if os.stat(fileName).st_mtime <= mtime:
> -- 

What is the rationale for the rewritten system() line? I would have understood a change to

	os.spawnlp("sh", "-c", editor + " \"$@\"", fileName)

for better behavior when TMPDIR contains shell metacharacters, but even this has nothing to do with read_pipe() returning a trailing newline.

Just my two cents, Jonathan

Jonathan Nieder· Jan 10, 2010, 11:14 UTC · re: Jonathan Nieder · lore
Jonathan Nieder wrote:
Show 7 quoted lines
> Kevin Leung wrote:
> > read_pipe() returns "\n". We need to remove it before passing it
> > to system().
> > 
> > Signed-off-by: Kevin Leung <kevinlsk@gmail.com>
> 
> If I understand correctly, this is a cosmetic change:

... and of course I didn't the subject. Sorry about that. Thanks for cleaning up my mess.

Acked-by: Jonathan Nieder <jrnieder@gmail.com>
> What is the rationale for the rewritten system() line?  I would have
> understood a change to
> 
> 	os.spawnlp("sh", "-c", editor + " \"$@\"", fileName)
I am still curious about this, though it is not so important.
Jonathan
Kevin Leung· Jan 10, 2010, 13:52 UTC · re: Jonathan Nieder · lore
On Sun, Jan 10, 2010 at 7:14 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 20 quoted lines
> Jonathan Nieder wrote:
>> Kevin Leung wrote:
>> > read_pipe() returns "\n". We need to remove it before passing it
>> > to system().
>> >
>> > Signed-off-by: Kevin Leung <kevinlsk@gmail.com>
>>
>> If I understand correctly, this is a cosmetic change:
>
> ... and of course I didn't the subject.  Sorry about that.  Thanks
> for cleaning up my mess.
>
> Acked-by: Jonathan Nieder <jrnieder@gmail.com>
>
>> What is the rationale for the rewritten system() line?  I would have
>> understood a change to
>>
>>       os.spawnlp("sh", "-c", editor + " \"$@\"", fileName)
>
> I am still curious about this, though it is not so important.

You are right, the system() line is not so important. I can revert that line of change.

Kevin

← back to recent threads