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

Re: Special Character Inconsistencies

From: Daniel Becroft <Daniel.Becroft_at_supercorp.com.au>
Date: Wed, 1 Oct 2008 16:00:01 +1000

> -----Original Message-----
> From: Ryan Schmidt [mailto:subversion-2008c_at_ryandesign.com]
> Sent: Wednesday, October 01, 2008 3:53 PM
> To: Daniel Becroft
> Cc: SubVersion Users
> Subject: Re: Special Character Inconsistencies
>
> On Oct 1, 2008, at 12:42 AM, Daniel Becroft wrote:
>
> > Ryan Schmidt wrote:
> >
> >> On Sep 30, 2008, at 10:02 PM, Daniel Becroft wrote:
> >>
> >>> I have come across what appear to be inconsistencies with the
> >>> handling of special characters (ie '?') in filenames for
> URL-based
> >>> renames & deletes.
> >>>
> >>> Examples:
> >>>
> >>>> svn list svn://localhost/rename_test
> >>> alpha.txt
> >>>
> >>>> svn rename svn://localhost/rename_test/alpha.txt
> >>> svn://localhost/rename_test/alpha?.txt
> >>> svn: URL 'svn://localhost/rename_test/alpha?.txt' is not
> >>> properly URI-encoded
> >>>
> >>> This is an expected error. So, use the percentage notation:
> >>>
> >>>> svn rename svn://localhost/rename_test/alpha.txt
> >>> svn://localhost/rename_test/alpha?.txt
> >>
> >> Presumably you meant:
> >>
> >> svn rename svn://localhost/rename_test/alpha.txt
> >> svn://localhost/ rename_test/alpha%3F.txt
> >
> > Apologies, yes, that is what I meant. Copied the wrong line
> from the
> > console.
> >
> >>> Committed revision X.
> >>>
> >>>> svn list svn://localhost/rename_test
> >>> alpha?.txt
> >>>
> >>> It appears the rename has worked. But, we cannot rename the file
> >>> back:
> >>>
> >>>> svn rename svn://localhost/rename_Test/alpha%3F.txt
> >>> svn://localhost/rename_Test/alpha.txt --message ""
> >>> svn: Can't open file
> >>> 'D://svnrepos/rename_Test/alpha?.txt/format':
> >>> The filename,
> >>> directory name, or volume label syntax is incorrect.
> >>
> >> I'm unable to reproduce the problem using file:-protocol URLs...
> >> Didn't try the other protocols.
> >
> > I'll give it a go on the file:// protocol, but I'm guessing
> I'll have
> > the same issue.
> >
> >>> I get the same errors if I attempt to move the file to a
> different
> >>> location.
> >>>
> >>>> svn delete svn://localhost/rename_Test/alpha%3F.txt --message ""
> >>>
> >>> Committed revision 6.
> >>>
> >>> Now, I'm not sure where the problem lies. Should these
> names even be
> >>> allowed? If so, then the rename obviously needs to be fixed.
> >>
> >> I'm using Subversion 1.5.2 on an Intel Mac running Mac OS
> X 10.4.11.
> >> What about you?
> >
> > Subversion 1.5.2 on WinXP SP3. Haven't got a non-windows
> box to test
> > on.
>
> Oh yes, sorry, I should have guessed that from "Can't open
> file 'D:// svnrepos/rename_Test/alpha?.txt/format':"
>
> > WinXP doesn't like having '?' in the filenames, but it
> seems strange
> > that SVN is including the filename part of the URL when trying to
> > access the internal repository structure.
>
> It does seem strange, but since you're on Windows, you
> shouldn't be using filenames that are incompatible with
> Windows. You should install a pre-commit hook preventing such
> commits. I don't know of such a script, but given the number
> of Windows users out there, I'd think this is a common
> problem, and if you write one (Python seems to be the
> language of choice for hook scripts at the moment), you
> should contribute it so it can live with the other
> contributed hook scripts:

I totally agree. I haven't hit this problem in the wild, yet, I just
came across it whilst trying to replicate the issue on the dev@ list
with the SVN repository (the ?WHAT?.txt file problem).

I think the problem arises because the server (not the client) is on
windows. So even if a *NIX client did the URL-only delete statement, the
same error would appear.

As I said, not something that we have seen actually happen, it was
purely a test case, and thought I would raise it.

Cheers,
Daniel B.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-10-01 07:59:39 CEST

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

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