monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] line endings


From: Howard Spindel
Subject: [Monotone-devel] line endings
Date: Wed, 01 Feb 2006 18:59:12 -0800

It seems to me that to be completely general monotone needs a per-file certificate specifying the permissible transformations. Examples of the settings available in that certificate:

1.  Never transform anything
2. Database file is LF line terminated, transform LFs to platform specific in/out 3. Database file is CR/LF line terminated, transform CR/LFs to platform specific in/out 4. Whatever additional combinations are possible (does monotone have to worry about big-endian vs little-endian ever?)

"Platform specific" could be determined by system call, overrideable by hook.

Monotone would request the correct setting on initial file check-in. For backwards compatibility, if the certificate does not exist monotone does whatever it does now but requests the correct setting on next file check-in.

The problem I see in the discussions so far is not in knowing what to do on the platform you're on, but in knowing what's stored in the database. Monotone could use heuristics to determine that, but if the heuristics fail the user gets a big, maybe nasty surprise.

In a project development environment where everyone uses the same OS, "never transform anything" should work well for all files and perhaps there should be a way to tell monotone that this case exists.

Since I know nothing of monotone internals, I acknowledge that I could be way off-base on something here.

Howard








reply via email to

[Prev in Thread] Current Thread [Next in Thread]