Checkouts? Or just light bound branches?

Aaron Bentley aaron.bentley at utoronto.ca
Fri Jan 27 15:15:01 GMT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John A Meinel wrote:
> I want to think about the different use cases we wanted to support. With
> my favorite one first. A published repository mirrored to a local
> repository with checkouts into the working tree. This gives you space
> savings on both ends, and still lets you work offline.

I agree that this is an important case.

> Switching to the 'checkouts are actually light bound branches' would
> mean supporting double bound branches.

I'm actually in favour of supporting multiple-bound branches.  I think
that would provide some useful flexability.  I can see wanting
1. local repository
2. LAN repository
3. public repository

And having them all autoupdated.

> The problem is I think we still need the concept that the working tree
> has a 'last revision' which may be different that the branch it
> references. Because of the 'push' issue.
> That if I push to a remote tree, and don't update the working tree, it
> is out of date. And I would like a way to update it, without potentially
> loosing the minor changes that already exist. (Maintaining a website,
> for instance).

so:
$ bzr push sftp://aaronbentley.com//home/abentley/myproject
$ ssh aaronbentley.com
$ cd myproject
$ bzr revert
(local changes lost)
This is the kind of thing you mean?  (It can be worked around with
merge, but not conveniently.)

> Now, we could get around that by removing the ability to push to a
> remote branch with a direct working tree. So on the server side you
> would have to have a branch without working tree, and then a light bound
> branch (checkout) next to it, rather than inside it.

You'll recall that I'm strongly opposed to the current behaviour.  "If
there's a tree, we should either update it or fail to push.  An
out-of-date tree is worse than useless."

> I'm not as bothered with both of them having last-revisions in them.

Well, I'm not lying awake at night.  It just suggests to me that our
current model may need refinement.

> Oh and the other problem with 'lightly bound' is that you can't unbind
> them. Since there is no local data to fall back on.

You can unbind them; you just can't commit if you can't access your
repository.  For the checkout-of-local-bound-repository-branch case, you
would never be unable to access your repository.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFD2jj10F+nu1YWqI0RAphKAJ0QA2Quafabi7OmaiLQxQtcbBrFKwCfd1c/
iIDYkQ2HMz5LLQnpAxz+RTA=
=ICdJ
-----END PGP SIGNATURE-----




More information about the bazaar mailing list