[RFC] Versioned data, revisited

Jan Hudec bulb at ucw.cz
Thu Feb 9 21:34:40 GMT 2006


Hello All,

Thinking about the versioned data I realized that putting them in the
inventory won't make much good with respect to merging. Because the property
lines could get 'cross-matched'(1), so the annotation of inventory.weave is
about useless.

Therefore I present here a new plan:

 * Each property will have it's own weave/knit.
 * If the property is whole-tree, it will just contain the values
 * If the property is per-entry, each line would contain the entry-id and
   respective property value. Whether multiple values per entry are allowed
   or not would be property specific.
 * The file would be sorted, unicodetically. Merging would be done as weave
   merge consdiering 0 context for conflict detection. Which should reduce to
   set weave merge.
 * The file would be plain newline-separated values or id:value pairs.
   I won't make it XML, because I don't think it's needed. Besides
   the merge algorithm is based on one-entry-one-line so it better be
   inherent to the format.
 * There will be two base classes, TreeProperty and EntryProperty. The former
   will be treated as a set of strings and the later as a set of
   InventoryEntry:value pairs. Perhaps the later will be split in two
   variants, one allowing multiple values per id and the other only allowing
   one value per id (will have to specify merge semantics then).

-- 
						 Jan 'Bulb' Hudec <bulb at ucw.cz>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060209/97466576/attachment.pgp 


More information about the bazaar mailing list