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

Re: some valid Linux filenames break subversion

From: Amelia A Lewis <alewis_at_tibco.com>
Date: 2004-07-14 20:11:57 CEST

On Wed, 14 Jul 2004 13:54:51 -0400
Greg Hudson <ghudson@MIT.EDU> wrote:
> On Wed, 2004-07-14 at 12:03, kfogel@collab.net wrote:
> > But if we *did* encode the attribute values somehow, we could support
> > all possible filenames.
> No, because we also pass filenames over HTTP, using standard DAV and
> DeltaV methods, and we can't just decide to base64-encode those
> pathnames.

At a guess, your best bet would be to URL-encode pathnames in the XML.
You then have to know to URL-decode them, and there is a potential for
problems if you're using URL encoding for other purposes, but it should
answer. This would allow roughly the same thing to be passed over
HTTP/DAV (although it may URL-encode more than is strictly necessary; I
don't recall offhand what overlap there is between the set of characters
illegal in an HTTP URL path and the set of characters illegal in XML).

> (If I understand correctly.)

What he said.

BTW, URL encoding might be an interesting solution, around 2.0, for
client-side handling of characters unsupported by the file system. For
instance, HFS permits slashes in names, but does not permit colon. Unix
filesystems are typically the reverse. In both cases, the reserved
character is the path separator. Unix would permit the filename
"Proposal%201%2f2" and HFS would permit "Proposal%3a%20Part%201" (or
"Proposal 1%2f2" and "Proposal%3a Part 1") as valid (if icky) filenames.
Might be problems with a filesystem that uses "%" as a path separator, I
suppose. The difficulty is in communicating with the repo: how can *it*
tell the difference between the file Proposal%201%2f2 and the path
Proposal%201/2 ? (where the filename is "2"; the directory is "Proposal 1"
and there are presumably several parts, of which this is the second).


Amelia A. Lewis
Senior Architect
TIBCO/Extensibility, Inc.
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jul 14 20:11:52 2004

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.