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

Re: [PATCH] git-svn: Allow using arguments to the editor.

From
GFGerfried Fuchs <rhonda@deb.at>
Date
Feb 18, 2009, 14:48 UTC
Message-ID
<20090218144814.GA23938@anguilla.debian.or.at>
In-Reply-To
<200902181515.59625.trast@student.ethz.ch>
* Thomas Rast <trast@student.ethz.ch> [2009-02-18 15:15:53 CET]:
Show 13 quoted lines
> Gerfried Fuchs wrote:
> > When setting the EDITOR or VISUAL environment variable, one might want
> > to hand over arguments (like e.g. for not backgrounding a GUI editor but
> > waiting for it to finish. This patch enables that posibility, before it
> > did look for a program with the content of the variable, including the
> > space as filename part. The change is in sync with regular behavior with
> > various other tools, git itself included.
> [...]
> > +		my (@editor) = split /\s+/, $editor;
> 
> This doesn't handle quoted spaces and such.  launch_editor() seems to
> pass the $EDITOR through 'sh -c' if there are any special characters
> inside, wouldn't that be appropriate for git-svn too?
 I'm not sure where quoted spaces and such are handled very much
differently. How would you quote it that wouldn't make tons of programs
fail? EDITOR='"/my space path/prog"' doesn't work in most applications
because they wouldn't strip the embedded quotes, neither does
EDITOR='/my\ space\ path/prog' work. EDITOR='/my space path/prog' might
work in some (current git-svn) but not in all.
 I was just following common practise with the suggestion, unfortunately
there isn't a real standard for the content of EDITOR and different
people expect different beavior. Most easy way to work around is of
course writing a wrapper script that does call your editor with the
options you want, some people though consider that inconvenient.
Personally I don't care too much either way but when applications
suggest setting options in EDITOR is proper it might be right to follow
that.
 I haven't looked into how git does it directly, but it offers that
posibility:
EDITOR="vim -c 'syn off'" git commit -a
 I wasn't able to figure out any way to use a space-embedded filename in
EDITOR for git - so why should git-svn behave differently here? But you
are right, this very example shows clearly that my approach is
incomplete because it can't handle the 'syn off' part.
 About just doing a system on the combined string
("$editor $commit_editmsg"): It might work somewhat safely if one uses
system($editor . " " . quotemeta($commit_editmsg)) instead. Thinking
about it, seems to make sense. If you want me to update the patch for
that approach just tell me. :)
 Thanks for the response. :)
Rhonda
Previous: Thomas RastNext: Thomas Rast
Message 3 of 5 in “git-svn: Allow using arguments to the editor.”
  1. git-svn: Allow using arguments to the editor.Gerfried Fuchs, Feb 18, 2009
  2. Thomas RastFeb 18, 2009
  3. Gerfried FuchsFeb 18, 2009
  4. Thomas RastFeb 18, 2009
  5. Eric WongFeb 19, 2009

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.