[MERGE] Stacking policy

Aaron Bentley aaron at aaronbentley.com
Thu Jun 19 19:04:44 BST 2008


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

Hi all,

This patch implements policy for stacking branches.

It implements per-bzrdir configuration, which may affect contained
branches.  In the per-bzrdir configuration, it implements a default
stacking location.  This may be configured by code hosting providers
(yes, such as Launchpad, but I intend the facility to work well for
others) to cause branches for a project to be automatically stacked on
top of another branch.  Users are notified when this happens.  I have
not implemented a way to turn this behavior off, but I certainly can.

Per-bzrdir configurations live in our standard metadir format 1.  This
could be considered a format change, but I would prefer not to do that.
 Existing clients will ignore it, but this seems reasonable, because
they can't stack anyhow.  So I don't think there are significant
compatibility concerns.

Branches should be accessible across multiple formats.  Launchpad itself
uses http, sftp and bzr+ssh.  To support this in a host-agnostic way,
the stacked-on branch may now be a relative or absolute path.  Paths are
treated the way browsers treat paths encountered on web pages; relative
paths are joined to the current path and absolute paths are joined to
the current host/protocol.  This allows a single on-disk stack-on
location to work no matter which protocol is used to access the branch.

No command is provided to set a default_stack_on branch, but I would be
happy to add that as another patch.  I do have some questions about the
right way to do this.

I also cleaned up BzrDir.sprout somewhat by using the new
RepositoryPolicy stuff.

This patch is built on top of Ian's most recent submission in this vein:
http://bundlebuggy.aaronbentley.com/request/<484E2DBD.70003@internode.on.net>
 It should not be merged into bzr.dev until Ian's patch is merged.

Note that merging will apply just the shown changes, but pulling will
give you a complete branch including Rob's and Ian's work.

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

iD8DBQFIWp+80F+nu1YWqI0RAnyKAJwLVqQbls/MbWD7ZjeqsAanmV9l0wCfaoZe
kQU3XoBCK4GAnVkmRlpt2Zg=
=u+XT
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stacking-policy-3279.patch
Type: text/x-diff
Size: 119000 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080619/4aacb416/attachment-0001.bin 


More information about the bazaar mailing list