[RFC] Getting nested tree repositories into use

Robert Collins robertc at robertcollins.net
Tue Jul 3 02:33:30 BST 2007


At the moment the nested tree Tree level support is lacking, so we don't
want to expose that yet - and there are open questions about how
subtrees should work in terms of UI. (e.g. when a versioned regular file
becomes a subtree on disk should it be an error, treated as a versioned
directory, or as a versioned subtree).

Until these issues are resolved we have a weird support issue - our
repository code supports a model that our front ends don't, and we don't
expose the repository *at all* to avoid this being a problem.

Aaron suggested a tree-level policy switch to prevent accidental use
until we are ready for it but this seems to have some problems to me - 

If Alice enables nested trees and does a commit with a nested tree, then
when I branch from Alice I will have to end up with nested trees
enabled, regardless of the config option at my end.

Given that pull and push need to propogate nested trees too, and they
don't, I'd argue that really only the repository supports nested trees,
and its really a system-wide flag we want, not a tree level policy. So I
propose that we consider Knit3 just another repository format, and
disable its 'supports subtrees' flag. We can enable it for testing to
make sure the sub tree support does not regress; and when Branch and
Tree are ready for sub tree support we can re-enable its flag.

This lets us move to a better format and do the same thing - a
off-by-default flag on Repository - for new repository types without
exposing users to this not yet ready feature. When we do publish data
with sub trees in the inventory we can be confident that it will get
copied faithfully based on the tests we have; but it may still break
users without recent bzr libs. To that end we may want to do an
otherwise arbitrary repository format bump just to prevent old clients
reading it.

Thoughts?
-Rob

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070703/9913babe/attachment-0001.pgp 


More information about the bazaar mailing list