[rfc] bzr-colo into core
Martin Pool
mbp at canonical.com
Fri Mar 25 06:46:35 UTC 2011
On 22 March 2011 00:02, Matthew D. Fuller <fullermd at over-yonder.net> wrote:
> On Mon, Mar 21, 2011 at 06:48:36PM +1100 I heard the voice of
> Martin Pool, and lo! it spake thus:
>>
>> I think this is the logical next step to make bzr's ui more powerful
>> and more friendly.
>
> +9 on the concept.
>
> I'm not so sanguine about the path of just bringing in the plugin more
> or less as-is though; this is a fairly big fundamental change, and I
> think it needs to be much more integrated, in terms of how we adjust
> the commands working, and how we shift our component modelling.
I agree.
> Yuo may remember that quite some time ago I wrote up a conceptual
> proposition at <http://wiki.bazaar.canonical.com/MatthewFuller/Fasces>
> for how pieces could come together for it, and I still feel fairly
> good about some of the attributes I posit as necessary; as a few
> examples:
I had read it, but then I forgot, so it was worth re-reading your document.
I agree we don't want to call the combined thing either a branch or a
repository. I think 'fascis' will cause bialix to say 'what is a
fascis?' and if you say 'it means bundle' then he may very reasonably
ask 'so it's like a bundle then?' But final names can come later.
It seems broadly to be going (or have gone) in the same direction as
bzr-colo, bzr-colocated, and this thread. In particular it highlights
the idea of the importance of keeping checkouts, and of letting people
keep working in a one-directory and one working tree per-branch
fashion.
One interesting thing you suggest that bzr-colo does not normally do
(but can be forced to do) is to have a shared repository enclosing
several fasces. Obviously that is easy to keep.
> - We don't make this some sort of branch, but rather a separate entity
> containing branches (or even 'sticks' rather than branches, to
> smoothly handle having checkouts as components).
I agree, but isn't that true in bzr-colo and -colocated too?
> - A much more fundamental shuffle to conceiving of branches by name
> rather than location, as I maintain that trying to use shortcut
> name-like things that get DWIM'd into locations is just a long-term
> pain reservoir. X-ref for instance Alexander's mail about the
> problems with having paths to branches inside a colo.
>
> - Big shifts in command usage are going to be unpleasant. Small
> shifts are unavoidable at the least and good at best (e.g., the
> reappropriation of 'clone'), but the primary command for pushing
> stuff should stay 'push', etc (both for historical, and for "why is
> this odd-seeming command name the allegedly 'normal' thing?"
> reasons).
I agree with those two too.
> I believe that these sort of things can be done without simultaneously
> moving the earth out from under people who want to keep working in a
> classic-bzr fashion; that's one of the key items behind my fascis
> proposal.
Yes, I think we can get there too. We need to have a clear picture of
where we're going to try to end up as the default case; so that that
is smooth but so that we do not needlessly cut out things people value
now.
So there are two main things I might try next: firstly putting up a
patch to deprecate excessive command aliases; secondly to write up a
science-fiction user guide for something near the centre of gravity of
this thread.
Martin
More information about the bazaar
mailing list