Bound branch implementation

Harald Meland harald.meland at usit.uio.no
Mon Nov 14 13:38:58 GMT 2005


[Nathaniel McCallum]

> On Sun, 2005-11-13 at 15:03 -0600, John A Meinel wrote:
>> 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.

No, not necessarily; without a two-phase commit, sync-merging with
more than one shadow would introduce a race condition.

Imagine developers A and B who both tries to update shadows X and Y,
which are at revno 42.

  A <- X at 42
  A -> X    # Creates 43a
  B <- Y at 42
  B -> Y    # Creates 43b
  A -> Y    # Wants to create 43a, but 43b is already present.

-- 
Harald




More information about the bazaar mailing list