Bound branch implementation

Nathaniel McCallum npmccallum at gentoo.org
Sun Nov 13 21:32:35 GMT 2005


On Sun, 2005-11-13 at 15:03 -0600, John A Meinel wrote:
> One of the specific reasons for bound branches is to enable shared
> remote repositories, where you want to make sure everyone is
> up-to-date.
> In the standard case, a branch won't change between bound and unbound
> very often. I find that easier to enforce than requiring me to always
> remember to do a commit with '-s'.

So in the bound case make it commit --no-sync ;)  Also, if there are
syncable peers, commit --sync would merge their changes in first,
updating automatically.

> binding is a specific statement that "I don't want a commit to succeed
> if I'm out of date". A lot of people like this model. Certainly it is
> more familiar to people who have used CVS/Arch/SVN/etc.

The commit --sync would merge in remote changes first.  It would just do
it automatically, with less user interaction.

One thing that drives me crazy is:
  revision_control <command>
  * I can't do <command> until you run <other command>

Just do it for me! :)  (perhaps a prompt would be in order, but don't
make me go through a whole litany just to do what I want)

> I am happy to hear alternative possibilities. But the above work flow
> is
> very difficult to scale above a 1-1 relationship, since you have the
> problem Erik mentioned, where a commit into one branch, needs to
> successfully commit into multiple other branches. We can always add
> 2-phase commit, but it seems to be unnecessary overhead at this
> point. 
The first stage of a --sync'd commit is merging in all remote branches.
That is where it would fail.





More information about the bazaar mailing list