Checkouts? Or just light bound branches?
Robert Collins
robertc at robertcollins.net
Fri Jan 27 06:58:39 GMT 2006
On Fri, 2006-01-27 at 07:29 +0100, Jan Hudec wrote:
> On Fri, Jan 27, 2006 at 08:45:41 +1100, Robert Collins wrote:
> > On Thu, 2006-01-26 at 22:30 +0100, Jan Hudec wrote:
> > > On Fri, Jan 27, 2006 at 08:24:29 +1100, Robert Collins wrote:
> > > > On Thu, 2006-01-26 at 15:15 -0500, Aaron Bentley wrote:
> > > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > > Hash: SHA1
> > > > >
> > > > > It somewhat bothers me that checkouts and branches both have the concept
> > > > > of last-revision. Considering that revision-history is the only concept
> > > > > that Branches represent, there's a lot of overlap.
> > > >
> > > > Hmm. Well Branches represent the sequence, checkouts the point in time,
> > > > IMO.
> > >
> > > When revision-history goes away (as I assume is still the plan), they will be
> > > the same.
> >
> > Not at all: checkouts will still have files on disk that represent the
> > instant the user is at, branches which are at arbitrary urls will not
> > have files on disk - though they can generate the content for the
> > -basis- tree.
> >
> > If you wanted to say that Branch will be the basis tree and checkout the
> > active tree, that might make sense.
>
> Sounds like a confusion of terms.
>
> What you call 'checkout' already exists, 'Working Tree', is, indeed,
> differnt thing than a branch. However each working tree needs to know
> what it's basis is. If it lives alongside a branch (as it always does so
> far), it's basis is the current revision of that branch.
>
> However as far as I understood, 'checkout' was supposed to mean a
> working tree dislocated from the branch. But because that means there
> can be several working trees for a single branch, each has to remember
> which revision it was checked out from. So it's not *just* a WorkingTree
> - it additionally has a current revision.
>
> Now if current revision wholly defines a branch, well, than checkout has
> a branch. Which means it is no longer dislocated -- and there is no need
> for the term. It becomes just a bound branch with a working tree and
> dislocated storage.
What you say has merit. I think another way of saying it is 'A bound
branch with a working tree and misplaced storage *is* a checkout'.
If we allow such a beast to exist (I have no problem with that), and do
not give working trees their own persistent 'last revision' marker (I'm
still thinking about this), then having the specific term checkout is
still useful, if only as a shorthand - 'I found a bug in
bound-branches-with-working-trees-and-misplaced-storage' is unwieldy :)
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/20060127/4d79b522/attachment.pgp
More information about the bazaar
mailing list