[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Re: the line-ending discussion
From: |
Glen Ditchfield |
Subject: |
Re: [Monotone-devel] Re: the line-ending discussion |
Date: |
Thu, 02 Feb 2006 21:48:21 -0600 |
User-agent: |
KMail/1.9.1 |
On Thursday 02 February 2006 18:48, Graydon Hoare wrote:
> 1. workspace file -> std::vector<std::string>
> 2. workspace file <- std::vector<std::string>
> ...
> Operations 1 and 2 are done by splitting or joining. The split and join
> operations are governed by the following rules:
> - At first, monotone's default behavior will be to use the "native"
> line-ending forms (only LF on unix, only CR on mac, only CRLF on
> windows). If you are sharing your workspace between platforms on
> NFS or SMB, you are out of luck. For now.
For operation 2, this is good. For operation 1, would it be good to split in
a platform-agnostic manner, provided that the file is internally consistent?
- If the file contains LFs but no CRs, split on LFs.
- If the file contains CRs but no LFs, split on CRs.
- If the file contains CRLFS but no single LFs or CRs, split on CRLF pairs
- Otherwise, split on native line-ends.
This would help with NFS/SMB mounts, and text-like files generated by
cross-platform utilities, and with text file e-mail attachments, and with
text files in tar/zip/sit archives, and with gzipped-XML file formats, and
with ... well, anyone else have some examples?