nested tree remaining questions

Robert Collins robertc at robertcollins.net
Wed Feb 8 22:46:56 GMT 2006


On Wed, 2006-02-08 at 17:23 -0500, Aaron Bentley wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Robert Collins wrote:
> > Seems to me there are three options :
> > * an unversioned 'thing' on disk, present in [say] any or all of repo,
> > branch, tree, and consulted in reverse order.
> > * a versioned file - thus essentially present in the tree, 
> > * versioned data - like the .bzrignore plan a tree version of the
> > 'current' data would exist too.
> 
> I think you're missing an option: data that is verisioned, but not in
> sync with tree data.  An example of this kind of data is tags.

Ok.

> I think it is useful to be able to update the child locations, as other
> people's branches/repositories move around.  This update should apply to
> all historical versions, also.

Makes sense, as long as historical versions *can* find the version of
the child locations list that existed when they were committed [for the
finding of now obsolete child branches]

> It appears that child locations are not necessary for repository
> branches.  We could simply require that all nested branch revisions are
> stored in the same repository.  And with revision-history going away, a
> branch will be just a revision-id.

I disagree here with two things. Branches are more than just a revision
id - 'parent', 'nickname', and possibly more attributes are part of
branch. More importantly one of the primary use cases of
nested-by-reference branches requires that they not be in the same
repository.

> > So the questions to disambiguate are:
> >  * Are historical versions of the data relevant? Yes - if I had a nested
> > branch a year ago but do not now, even if I clean up the hints, a
> > 'branch -r -1000' operation should be able to access them. This rules
> > out 'unversioned thing'
> 
> Yes, but:
>  * will I want to update the data that applies to old revisions'? Yes -
> If I nest PyBaz and then ddaa changes the location of his main branch, I
> want people to still be able to check out any revision.
> 
> But also:
> * Do I want to update my local settings without others being affected?
> Probably.  If I set up a local mirror, of ddaa, I may want to point at
> that, instead.

So, this would be handled by versioned data - we can consult the union
of all the versions known, or the tip and if that fails the commit that
that revision was introduced, and also note this is why there is a
fallback system to allow you to list both your local mirror of ddaa and
the official location of ddaa, so that when I pull your branch I use his
official location; when you pull you use your local mirror.

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/20060209/34eeacb7/attachment.pgp 


More information about the bazaar mailing list