I'd like to know if the email from Branko
(http://svn.haxx.se/dev/archive-2004-11/1063.shtml) for issue 1954
(http://subversion.tigris.org/issues/show_bug.cgi?id=1954) is still the
> Yes, let's ban control characters from SVN filenames.
And there's a svn_path_check_valid since r12???, so I believe that's the
I'm asking because I need a way to encode *any* filename for fsvs (especially
with \t, as that's a often used special character), so I'd like to ask if
there's some news regarding issue 1954.
If not - I'd like to present some ideas, to ask which would make the least
disgust here :-). The examples will encode "tab\tname".
1) Just store the filename as eg. "tab	name", and use a property as flag,
eg. svn:filename-encoded (like svn:special).
If there's an entry with this flag set, but with a (real-) filename which
needs not be encoded, error out. This would mean that "buggy)filename"
with svn:filename-encoded would not be allowed, to secure against having a
repository with two entries which would resolve to the same local (client)
name (see the problems on win32 with upper/lower-case).
2) Mostly the same as 1, but with an encoding like "tab\\x09name". Is a
character per special character smaller than 1.
3) Mostly the same as 1, but the filename encoded in
hexadecimal: "746162096e616d65". This has the advantage of an easier
encoding/decoding, but is not as human-readable.
4) Instead of a flag use a property to give the correct filename; the name of
the file would be irrelevant.
Eg. an entry with name "746162096e616d65" would have a property svn:real-name
of "tab\tname"; as properties can have *any* value, another encoding would
not be necessary.
My personal favorite is 3, followed by 2, followed by 1; they are easy to code
(store only a flag per entry), and the small disadvantage of having not
human-readable filenames (for 3) would be no big problem if one counts how
many files this really targets.
Please don't misunderstand me - I believe that such filenames are used often
enough so that they must be allowed; but they're not so common that we'd have
to jump through extra hoops for them.
I used the svn:-prefix because I believe that svn might sooner or later have
to understand such filenames too. If I get an absolutely negative feedback
I'm prepared to use a fsvs:-prefix, and do that privately for fsvs.
Comments? Better ideas? Other feedback?
Thank you very much!
Versioning your /etc, /home or even your whole installation?
Try fsvs (fsvs.tigris.org)!
To unsubscribe, e-mail: firstname.lastname@example.org
For additional commands, e-mail: email@example.com
Received on Thu Jul 13 18:42:31 2006