[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