[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Bug report -- space in env. var. VISUAL causes commits to fail (needs confirmation)

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Tue, 7 Dec 2010 17:03:01 +0200

David Dyer-Bennet wrote on Tue, Dec 07, 2010 at 08:44:28 -0600:
> On Tue, December 7, 2010 04:18, Julian Foad wrote:
> > On Tue, 2010-12-07, Daniel Shahaf wrote:
> >> I suppose setting VISUAL="\"/path with spaces/to/editor/binary\"" is the
> >> easiest solution --- it requires no code changes so it will work with
> >> any svn binary out there.
> >
> > Yes, I think that's the best solution.
>
> That's an interesting idea.
>
> Unfortunately, it doesn't seem to work. (Example from Centos 5.5 again):
>

The following syntaxes work for me:

% SVN_EDITOR="'$HOME/pre fix/bin/vim' +%d" $svn mkdir file:///tmp/svn/r1/foo3
% $svn mkdir file:///tmp/svn/r1/foo3 --editor-cmd "'$HOME/pre fix/bin/vim' +%d"

(the +%d is there both to prove to myself that it's not simply falling
back to my default editor --- which is also vim --- and to show that
passing argv[1] to the editor works)

> sh-3.2$ export VISUAL='"/home/path with spaces/bin/emacs"'
> sh-3.2$ echo $VISUAL
> "/home/path with spaces/bin/emacs"
> sh-3.2$ ls -l "/home/path with spaces/bin"
> total 8
> -rwxr-xr-x 1 root root 192 Dec 7 08:40 emacs
> sh-3.2$ svn commit
> basename: extra operand `spaces/bin/emacs'

Why is basename(1) invoked here?
               ^^^

(That's almost certainly something in your configuration.)

> Try `basename --help' for more information.
> Can't find
> svn: Commit failed (details follow):
> svn: system('"/home/path with spaces/bin/emacs" svn-commit.tmp') returned 256

> And, in any case, VISUAL is a public interface, and I wonder how many
> other applications would break if I put that kind of thing into
> VISUAL.
>

Morale: don't use paths with spaces.
Received on 2010-12-07 16:05:28 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.