[MERGE] line-endings support: part 1 of 2: versioned properties

Neil Martinsen-Burrell nmb at wartburg.edu
Mon Apr 14 21:53:50 BST 2008


Alexander Belchenko wrote:
> Accepting only filemasks in the form '*.ext' is deliberate decision.
> Because if I will allow to using something like:
>
> dir/subdir/*.c
>
> Then I'll get potential problems with renames/moves. And I don't want to
> have this pain.
>
> No, I think restriction for *.ext is right here.

In what sense do you not need to deal with renaming now?  Consider the 
hypthetical sequence of commands:

bzr prop-set bzr:special-property 'special value' '*.txt'
bzr add help.txt
bzr ci -m ''
bzr mv help.txt help.rst
bzr ci -m ''
# does help.rst have the appropriate property set still?

It seems like wildcarding property values will always have the problem 
of renaming losing properties, unless you deal with it explicitly.  I 
think that properties should conceptually be a mapping from file-ids to 
vpdicts.  If this is implemented by referring to some collection of 
file-ids in terms of a glob pattern, that's fine, but it shouldn't break 
the conceptual abstraction that versioned properties adhere to file 
objects.  This seems to be the model suggested in 
http://bazaar-vcs.org/VersionedProperties, and I think there should be 
wider discussion before we abandon that idea in favor of something less 
cohesive.

Perhaps you could rewrite the VersionedProperties spec and post it to 
the list for discussion before presenting an implementation of an 
unwritten version of the specification.

-Neil




More information about the bazaar mailing list