Recipes vs. Looms vs. pipelines
Aaron Bentley
aaron at canonical.com
Wed Dec 16 21:58:36 GMT 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
James Westby wrote:
> I realise that there are other advantages, but choosing pipelines just
> because they use real branches for the "threads," wouldn't be a wise
> choice in my eyes. It's not something that can't fit in to the model
> of looms, so we can always add it there.
Right, it's not a trump card. But in my view, adding configuration data
to threads basically makes them colocated branches, and having two kinds
of branches that work very differently is unnecessarily complicated.
> From my little understanding, I get the impression that pipelines are
> more for organising your local work, rather than for collaboration
> on a set of changes, which is why I haven't given them the attention
> until now. However, it sounds like that may be more of an artifact of
> not having co-located branches than part of the design.
I wanted to focus on making pipelines a really good way of organizing
local work. At the same time, I had noticed that people seemed to find
the loom methods of collaboration confusing, saying thinks like "But
*when* should I record?", and "why doesn't push work?". So I decided to
do syncing using an unversioned list of pipes rather than a loom-style
snapshot, and to provide a new "sync-pipeline" command instead of
overriding push and pull.
> I have just read http://wiki.bazaar.canonical.com/BzrPipeline, and
> I feel like I understand the workflow a little better now. To my
> reading it differs little from loom though, different analogy,
> "push" rather than "pull"
Actually, "sync-pipeline" rather than "push" or "pull".
>, branches not proto-branches. Am I missing
> something?
There are a lot of similarities. Some more differences are:
- - automatic storing/restoring of uncommitted changes with switch-pipe.
- - uncommitted changes in another pipe can be merged.
I think that there are significant improvements to the command set:
In loom, up-thread and down-thread are asymmetric. The analogue of
down-thread is switch-pipe, and the analogue of up-thread --auto is pump.
The command for removing a pipe is called "remove-pipe", whereas the
command for removing a thread is called "combine-thread".
pipeline has lp-submit to submit a merge proposal for a pipe to
Launchpad. It is impossible to submit a merge proposal for a thread to
launchpad, because threads aren't addressable.
pipeline provides pipe-patches, to export the pipeline as a series of
patches.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkspWAkACgkQ0F+nu1YWqI14zgCeLFoRPzBRVSGqq+sIb/WfAafg
enoAn1etdoa6S87JY9VcvWonSzd7UT3t
=yEOz
-----END PGP SIGNATURE-----
More information about the ubuntu-distributed-devel
mailing list