Bruce Stephens wrote:
Better (I'd have thought) to store some canonical form in the repository and let the
clients do conversion. What's currently missing is a way to specify
what the canonical form ought to be like: whether the file's text or
binary, whether it has special line-ending requirements (like some VS
files seem to have). Subversion splits this: svn:mime-type specifies
whether a file's binary or not, and svn:eol-style lets you change the
line ending.
I should think the canonical form is obvious: an unadorned LF should be
the eol character as stored in the repository. That way it matches
what C expects when you read it in as binary, and on UNIX
you never have to do any conversion. (Though you should still scan the
file on every check-in and complain if its EOL convention doesn't match
what you expected...)
I'm not sure what SVN using two separate values (one as a mime-type!)
buys them. I think one setting with three possible values would be
best: "it's
binary", "it's text but don't do eol conversion", and "it's text,
please do
eol conversion". From the above I take it it's possible to declare a
file as binary-with-eol-conversions, which strikes me as an unintended
consequence waiting to happen.
Opinionated as usual,
larry
|