Atomatic remote stacking ala Launchpad

Matt Nordhoff mnordhoff at mattnordhoff.com
Tue Nov 24 12:26:22 GMT 2009


Ivan Sagalaev wrote:
> Hello!
> 
> Robert Collins and Ian Clatworthy have explained to me a feature of
> Launchpad where branches pushed there are not transmitted over the
> network completely but magically created as stacked.
> 
> I wonder if it's possible to do the same thing on our company's bzr
> server.  For now we encourage people to create shared repos for their
> projects and keep all branches within them. I'm not sure if it saves
> only disk space on the server or also saves traffic when someone pushes
> a local branch into a remote shared repo. If the branch is still
> transmitted completely then that feature with remote stacking can be a
> time-saver.

When pushing, only revisions not present in the target repo will be
transmitted, whether it's normal, shared or stacked. When creating a new
branch, this means: If a shared is being used, well, just what I said:
it pushes revisions not present in the shared repo. If it's a standalone
branch, the new repo is obviously empty and you have to push everything.
If it's stacked, it pushes everything not present in the stacked-on
branch's repo.

The big benefit of stacking on a server is access control: if you use a
shared repo, everybody needs write access to it, but with stacking, they
don't. If you don't need such fine-grained access control, it's simpler
to stick with shared repos.

If you're still interested, the feature Launchpad uses is called a
stacking policy. I don't see any documentation, though...
-- 
Matt Nordhoff



More information about the bazaar mailing list