You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Troy Curtis Jr <tr...@gmail.com> on 2007/12/18 04:38:20 UTC
Re: Client relative url support infrastructure and merge implementation
On Dec 17, 2007 5:04 PM, Greg Lutz <gr...@nearspace.com> wrote:
> Hello,
>
> This is actually a very belated reply to an svn.dev message of yours,
> from 2007-11-10 22:25:52 CET. I'm not posting it to the svn.dev list
> because a) I just joined the forum today, and b) what I have to say
> here may have been overtaken by developments I'm not fully aware of.
>
> I, like Julian Foad and others, like the proposed repository-relative
> URL proposal you have begun (?) to implement.
>
> However, the proposed syntax will be exceedingly inconvenient on
> Windows machines. That is, assuming that anyone with a Windows
> machine is in the habit of invoking svn from the cmd shell. The
> problem is that ^ is cmd's very odd choice for an escape character,
> for such usages as
>
> echo This is a vertical bar: ^|
>
> In order for the the invoked program to see a ^ character, the user
> must double it:
>
> echo This is a single caret: ^^
>
> Worse than that, due to more sterling Microsoft implementation
> decisions, each level of shell script (.bat or .cmd file) through
> which an argument passes requires another doubling of caret
> characters. I.e., if svninfo.bat contained
>
> svn info %1
>
> then to apply it to ^/trunk, you would have to enter
>
> svninfo ^^^^/trunk
>
> Please let me know if this concern is (still) relevant.
>
>
> Thanks,
> Greg Lutz
>
>
It is a great point and is certainly relevant so I AM including it on
the dev list.
The '^' character is still the planned implementation (as soon as I
get to it!). It is very unlikely that we will find a character that
will work correctly in all shells, as many of them use a large variety
of different symbols to do special things. The challenge is to find
one that causes the least pain and makes since. Another thing that
'^' has going for it is it is also the character that has been
implemented in the recent relative externals syntax.
So the question is how many people will this effect? Can you think of
another alternative that might provide for greater compatibility? It
hasn't been implemented yet so we could certainly change it if there
is a better character. I might be a little ignorant, but I assume
that most people using Subversion on Windows do so through one of the
GUI clients, or even if it isn't exclusively through the GUI client it
is the main mode of interaction. Of course we certainly don't want
to implement something that we know hurts "those other guys" if there
is a better choice.
Troy
--
"Beware of spyware. If you can, use the Firefox browser." - USA Today
Download now at http://getfirefox.com
Registered Linux User #354814 ( http://counter.li.org/)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Client relative url support infrastructure and merge implementation
Posted by Branko Čibej <br...@xbc.nu>.
C. Michael Pilato wrote:
> Branko Čibej wrote:
>
>> Vincent Lefevre wrote:
>>
>>> On 2007-12-18 15:41:17 +0100, Vincent Lefevre wrote:
>>>
>>>
>>>> vin:~> zsh -f
>>>> vin% echo ^ab
>>>> ^ab
>>>> vin% echo +ab
>>>> +ab
>>>> vin% echo =ab
>>>> /usr/sbin/ab
>>>> vin% echo %ab
>>>> %ab
>>>>
>>>>
>>> BTW, if the extendedglob option is used, '^' also has a special
>>> meaning under zsh. '+' and '%' seem to be safe. And as '%' is
>>> used as a job prefix, it should be safe and remain safe whatever
>>> the options.
>>>
>>>
>> Good reasoning. I don't suppose anyone wants a svn client in VMS? then
>> we're safe with %. :)
>>
>
> I may not be following the right discussion, but won't %ab expand as a
> variable on windows? Or must you have both %'s (%ab%)?
>
Hum. %ab won't, but %a will. Bah. I kept thinking in terms of %/foo, not
%foo ...
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Client relative url support infrastructure and merge implementation
Posted by Nathan Kidd <na...@spicycrypto.ca>.
C. Michael Pilato wrote:
> Branko Čibej wrote:
>> Vincent Lefevre wrote:
>>> On 2007-12-18 15:41:17 +0100, Vincent Lefevre wrote:
>>>
>>>> vin:~> zsh -f
>>>> vin% echo ^ab
>>>> ^ab
>>>> vin% echo +ab
>>>> +ab
>>>> vin% echo =ab
>>>> /usr/sbin/ab
>>>> vin% echo %ab
>>>> %ab
>>>>
>>> BTW, if the extendedglob option is used, '^' also has a special
>>> meaning under zsh. '+' and '%' seem to be safe. And as '%' is
>>> used as a job prefix, it should be safe and remain safe whatever
>>> the options.
>>>
>> Good reasoning. I don't suppose anyone wants a svn client in VMS? then
>> we're safe with %. :)
>
> I may not be following the right discussion, but won't %ab expand as a
> variable on windows? Or must you have both %'s (%ab%)?
For a regular variable both %'s are needed:
C:\>set ab=foo
C:\>echo %ab
%ab
FOR loop variables however seem impossible to escape, so one must be
careful to avoid using a sequence that matches a used variable.
C:\>for %a in (*) do @echo %ab
FOO.TXTb
C:\>for %a in (*) do @echo %%ab
%FOO.TXTb
C:\>for %a in (*) do @echo ^%ab
FOO.TXTb
C:\>for %a in (*) do @echo "%ab"
"FOO.TXTb"
C:\>for %a in (*) do @echo ^%^ab
FOO.TXTb
C:\>for %a in (*) do @echo ^%^%^ab
%FOO.TXTb
C:\>for %a in (*) do @echo ^^%ab
^FOO.TXTb
C:\>for %a in (*) do @echo ^%^^%ab
%^FOO.TXTb
C:\>for %a in (*) do @echo "^%^^%ab"
"^%^^FOO.TXTb"
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Client relative url support infrastructure and merge implementation
Posted by "C. Michael Pilato" <cm...@collab.net>.
Branko Čibej wrote:
> Vincent Lefevre wrote:
>> On 2007-12-18 15:41:17 +0100, Vincent Lefevre wrote:
>>
>>> vin:~> zsh -f
>>> vin% echo ^ab
>>> ^ab
>>> vin% echo +ab
>>> +ab
>>> vin% echo =ab
>>> /usr/sbin/ab
>>> vin% echo %ab
>>> %ab
>>>
>> BTW, if the extendedglob option is used, '^' also has a special
>> meaning under zsh. '+' and '%' seem to be safe. And as '%' is
>> used as a job prefix, it should be safe and remain safe whatever
>> the options.
>>
> Good reasoning. I don't suppose anyone wants a svn client in VMS? then
> we're safe with %. :)
I may not be following the right discussion, but won't %ab expand as a
variable on windows? Or must you have both %'s (%ab%)?
--
C. Michael Pilato <cm...@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Re: Client relative url support infrastructure and merge implementation
Posted by Branko Čibej <br...@xbc.nu>.
Vincent Lefevre wrote:
> On 2007-12-18 15:41:17 +0100, Vincent Lefevre wrote:
>
>> vin:~> zsh -f
>> vin% echo ^ab
>> ^ab
>> vin% echo +ab
>> +ab
>> vin% echo =ab
>> /usr/sbin/ab
>> vin% echo %ab
>> %ab
>>
>
> BTW, if the extendedglob option is used, '^' also has a special
> meaning under zsh. '+' and '%' seem to be safe. And as '%' is
> used as a job prefix, it should be safe and remain safe whatever
> the options.
>
Good reasoning. I don't suppose anyone wants a svn client in VMS? then
we're safe with %. :)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Client relative url support infrastructure and merge
implementation
Posted by Vincent Lefevre <vi...@vinc17.org>.
On 2007-12-18 15:41:17 +0100, Vincent Lefevre wrote:
> vin:~> zsh -f
> vin% echo ^ab
> ^ab
> vin% echo +ab
> +ab
> vin% echo =ab
> /usr/sbin/ab
> vin% echo %ab
> %ab
BTW, if the extendedglob option is used, '^' also has a special
meaning under zsh. '+' and '%' seem to be safe. And as '%' is
used as a job prefix, it should be safe and remain safe whatever
the options.
--
Vincent Lefèvre <vi...@vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Client relative url support infrastructure and merge
implementation
Posted by Vincent Lefevre <vi...@vinc17.org>.
On 2007-12-18 12:23:47 +0100, Branko Čibej wrote:
> Greg Lutz wrote:
> > Looking along the top row of my keyboard, I wonder whether "+" or "="
> > might be reasonable alternatives to "^". In *nix, they're all about
> > equally metacharacterish.
>
> + is sometimes special on Windows. = seems to be safe, so does % (which
> is a job control shortcut in bash, but only at the beginning of a line)
I don't have the whole thread, but if '=' is the first character of
a word, it has a special (and very useful) meaning with zsh. FYI:
vin:~> zsh -f
vin% echo ^ab
^ab
vin% echo +ab
+ab
vin% echo =ab
/usr/sbin/ab
vin% echo %ab
%ab
--
Vincent Lefèvre <vi...@vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Client relative url support infrastructure and merge implementation
Posted by Branko Čibej <br...@xbc.nu>.
Greg Lutz wrote:
> At 08:38 PM 12/17/2007, Troy Curtis Jr wrote:
>> On Dec 17, 2007 5:04 PM, Greg Lutz <gr...@nearspace.com> wrote:
>
> [snip]
>
>> ... the proposed [repository-relative URL] syntax will be exceedingly
>> inconvenient on
>> > Windows machines [because] ^ is cmd's very odd choice for an escape
>> character
>
> [snip]
>
>> So the question is how many people will this effect? Can you think of
>> another alternative that might provide for greater compatibility?
>
> From my isolated perch in Windowsland, I wouldn't be surprised if
> quite a significant number of users were using svn from the command
> line, and writing .bat files for the purpose. Really, I have no idea
> what the number might be.
>
> Looking along the top row of my keyboard, I wonder whether "+" or "="
> might be reasonable alternatives to "^". In *nix, they're all about
> equally metacharacterish.
+ is sometimes special on Windows. = seems to be safe, so does % (which
is a job control shortcut in bash, but only at the beginning of a line)
Whatever is implemented, I think it would be an extremely good idea to
make relative externals use the same magic character.
-- Brane
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Client relative url support infrastructure and merge
implementation
Posted by Greg Lutz <gr...@nearspace.com>.
At 08:38 PM 12/17/2007, Troy Curtis Jr wrote:
>On Dec 17, 2007 5:04 PM, Greg Lutz <gr...@nearspace.com> wrote:
[snip]
>... the proposed [repository-relative URL] syntax will be
>exceedingly inconvenient on
> > Windows machines [because] ^ is cmd's very odd choice for an
> escape character
[snip]
>So the question is how many people will this effect? Can you think of
>another alternative that might provide for greater compatibility?
From my isolated perch in Windowsland, I wouldn't be surprised if
quite a significant number of users were using svn from the command
line, and writing .bat files for the purpose. Really, I have no idea
what the number might be.
Looking along the top row of my keyboard, I wonder whether "+" or "="
might be reasonable alternatives to "^". In *nix, they're all about
equally metacharacterish.
--Greg Lutz
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org