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

Re: svn commit: r33417 - in trunk/subversion: libsvn_wc tests/cmdline

From: Philip Martin <philip_at_codematters.co.uk>
Date: Thu, 09 Oct 2008 01:09:32 +0100

"C. Michael Pilato" <cmpilato_at_collab.net> writes:

> Philip Martin wrote:
>> Philip Martin <philip_at_codematters.co.uk> writes:
>>
>>> ordinary non-escape character. In the past using an svn:externals
>>> like "a\b URL" would produce a directory called "a\b" (that's a
>>> 3-character name) while a quick test indicates that it now appears to
>>> create a directory called "ab". To get "a\b" the svn:externals needs
>>> to be changed to "a\\b URL". I don't know if anyone is using such
>>> names in svn:externals, and I don't think they would not work on
>>> Windows, but change could break existing working copies and there
>>
>> Typo: I meant to write "I don't think they would work on Windows" but
>> it now occurs to me that it might create a directory "b" in a
>> directory "a". Perhaps somebody with a Windows machine could try it?
>
> Yes, using a local directory "a\b" in Windows causes Subversion to create
> directories "a" and "a\b", with the "a\b" as the external working copy.

So it's possible that Windows users are using this pattern.

> By way of a solution, I was *going* to suggest that '\' be *only* allowed to
> escape the quotation mark character. That would mean recognizing as magical
> only the sequence '\"'. But since you can't have a quotation mark in the
> name of a directory on Windows (and it's highly unlikely that someone would
> want to have such in Unix, either) we can reasonably assume that for a
> sequence like 'foo\"bar' the user couldn't really have meant that he/she
> wanted to flesh out some external in some subdir named '"bar'. But then, if
> we've gotten as far as to assume that users don't want quotation marks in
> their path names, why would we need an escape mechanism for the quotation
> mark at all? :-\

I don't mind whether this change is made or not, but if we do make the
change then we need to document it--in CHANGES at least. We need to
explain which svn:externals will get broken, how to fix them, and how
it's not possible to be compatible with both old and new clients.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-10-09 02:09:50 CEST

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