monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Re: monotone & CVS import


From: Jeremy Fitzhardinge
Subject: Re: [Monotone-devel] Re: monotone & CVS import
Date: Wed, 12 Nov 2003 09:06:08 -0800

On Wed, 2003-11-12 at 07:28, graydon hoare wrote:
> historical rename certs will break if we add ' ', but I don't know if
> anyone's using them aside from me so far, and I can repair my own just
> by re-issuing the cert. is anyone else using them yet? would '\n' be a
> good separator for structured data inside such certs? or '\0', just to
> be safe? how about a netstring, len:<len bytes...> ? it'd be nice to
> keep it possible to print the cert value to stdout.

It would be good to support all possible names.  Many projects have one
or two files which have strange names, possibly because of the
requirements of some other tool.  If the source control system can't
handle some files, it is effectively useless.

What about using escapes (either URL-style %XX or C-style \000) in your
string encoding to cope with tricky characters?

Of course you then need to be careful to define what the hash is of: the
quoted version or the unquoted version?  If it's of the quoted version,
you need to be sure that you have a canonical quoted form which is
always the result of quoting.  If it's of the unquoted version, then it
would be possible to cause collisions - for example, if you named a
file:

foo.c\n
ab87345ba98234b12692ab87345ba98234b12692  interloper.c

you could cause the manifest hash to look as if interloper.c actually
existed.  If you make the record delimiter in the manifest \0, then this
isn't a problem.

On an unrelated subject, have you looked at storing file
permissions/type as well?  It would be useful if scripts checked into
monotone came out with the x bits set.  How about another field in the
manifest?

        J





reply via email to

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