What do I call a working tree that stores its revisions in a shared repository?

James Henstridge james at jamesh.id.au
Tue Apr 1 07:05:17 BST 2008


On 01/04/2008, Stefan Monnier <monnier at iro.umontreal.ca> wrote:
> >> > Ah, sorry. I see. My point was different - I don't like shared
>  >> > repositories because of the organisational limitations they impose, so
>  >> > I prefer to use standalone branches. However, they are too slow to
>  >> > use, so to get a reasonable level of speed back, I'm considering using
>  >> > an OS copy rather than a bzr branch.
>  >>
>  >> I suggest the following hack:
>
>  > Why not use lightweight checkouts instead of this hack?
>
>
> Not sure how that would work since it seems this requires to still have
>  a branch underneath the repository.  Are you suggesting something like:
>
>    bzr repo-init ~/var/bzr-foo
>    bzr clone <bar> ~/var/bzr-foo/bar
>    (cd ~/var/bzr-foo/bar; bzr remove-tree)
>    bzr checkout --lightweight ~/var/bzr-foo/bar <anywhere>
>
>  Would this work?
>  The thing is: I don't have a clear enough understanding of lightweight
>  checkouts to figure out whether it would behave identically to what
>  I proposed (what happens when you do `bzr merge', `bzr pull', `bzr
>  push'?).

If your aim is to keep the working trees separate from the repository,
create the repository with the "--no-trees" option.

Branches created in the repository will only contain a .bzr directory
(which should be a small constant size).  You can then create a
lightweight checkout of the branch to edit it.

The benefit of this setup is that you can delete a clean working tree
without losing any information -- the branch head will still be
recorded in the repository.  As the branches without working trees
consume negligible disk space, it isn't much of a problem to leave
them around for use later on.

James.



More information about the bazaar mailing list