[RFC] branch --bind

A. S. Budden abudden at gmail.com
Wed Jan 6 07:37:09 GMT 2010


2010/1/5 Martin Pool <mbp at canonical.com>:
> 2010/1/5 A. S. Budden <abudden at gmail.com>:
>> From my point of view, there are two ways to group the three working
>> copy types (lightweight checkout, heavyweight checkout and branch):
>
> That's a pretty good way to slice it but the definitions perhaps are
> not so clear (eg the word 'local' is ambiguous about whether you mean
> across directories or across machines.)

Good point: I meant across machines.

> I think your categories can be rephrased as
>
>  * is a copy of history stored locally?
>   * false for lightweight checkouts, true for branches and bound
> branches, not properly answered(?) by heavyweight checkouts
>   * implies can you run diff/log when disconnected
>  * can you commit and not have it go into the master?
>   * false for all checkouts, true for real branches, complicated for
> bound branches
>   * equivalent to, can you commit when disconnected
>   * at the moment this is handled by 'commit --local' and I suggest
> that's an unnecessary complication

That's an interesting point.  I am surprised at the distinction
between a heavyweight checkout and a bound branch (particularly in the
line starting "false for...").  Is there actually a difference?  If I
do "bzr checkout" to create a heavyweight checkout and open it in
Bazaar Explorer, it calls it a bound branch.  Is this wrong?  I've
been working on the assumption that they're the same thing, just
different names.

At the moment (as I've probably said a few times by now!), I use
heavyweight checkouts exclusively.  There is a tree-less "feature
branch" layout on a network drive and a local (i.e. not on the shared
drive) heavyweight checkout, created using a patched [1] Bazaar
Explorer.  Most of the time, I use it as if it were a lightweight
checkout.  When I'm working off-site or the network is being
temperamental, I use "commit --local" (the main benefit to me of the
heavyweight checkout) and send the changes upstream when I'm
reconnected.  Obviously, the heavyweight checkout also gives me access
to the diffs and logs.

Just out of curiosity, if the heavyweight checkout gets renamed as a
"bound branch", what will Bazaar Explorer's "switch checkout" be
renamed to?  This is a command I use rather a lot to enable working
with network-drive feature branches and it's name makes sense for
lightweight and heavyweight checkouts, but doesn't really fit with
"bound branch".

Al

[1] https://code.launchpad.net/~abudden/bzr-explorer/remote-feature-branches/+merge/15487

-- 
http://sites.google.com/site/abudden



More information about the bazaar mailing list