On Thursday 20 July 2006 20:56 Malcolm Rowe wrote:
> On Thu, Jul 20, 2006 at 08:29:07PM +0200, Philipp Marek wrote:
> > > 1. What happens if you have two files with the same encoded name? (one
> > > encoded, one not?). For example, two files called 'foo\x09bar' and
> > > 'foo^Ibar' (where ^I represents a real TAB character).
> >
> > There has to be a property "svn:filename-encoded" set to "*", similar to
> > the way svn:executable works, to enable filename translation.
>
> Yes, but I assumed that this would be applied automatically where
> necessary?
What do you mean by automatically?
All "old" programs who don't know about that encoding won't set
svn:filename-encoded, so they always see "valid" filenames.
> So if you add a file called 'foo^Ibar', it would actually
> create a file in the filesystem called 'foo\x09bar' with property
> filename-encoded set. If not, assume that the user has done whatever
> magic is necessary to add this file.
>
> What happens when the user now adds a file that's really called
> 'foo\x09bar'? (note that you aren't allowed to require that '\' be
> escaped, since that wouldn't be compatible with existing repositories).
Hmmm, I see what you mean.
We need to allow one more character than before, to use that as escape
character.
All "old" clients can't make such filenames, any new ones do.
Although I'm -1 on using a "special" (control) character for escaping, it
would be the only "right" way to solve that problem.
TBH, I don't believe that we'd have a problem with my proposed encoding scheme
(practically) - is there anyone using "\\x09" in a filename? (Ok, a tab
character is not that often used, too :-)
> Okay, so anyone accessing the filesystem through the repos or fs layers
> sees the encoded filename. That's potentially confusing ('ls' will
> return different filenames to 'svn ls', all the URL-using operations
> need to understand how to encode the filename), but I guess it does fix
> several of the problems I mentioned.
The svn binary, the fsvs binary, all repository viewers need to know about
that convention, and need to parse filenames according to that.
> Regards,
> Malcolm
Thank you for your feedback.
Regards,
Phil
--
Versioning your /etc, /home or even your whole installation?
Try fsvs (fsvs.tigris.org)!
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jul 21 18:36:44 2006