Revisit Newbie Bazaar Repository and Branch Setup
Neil Martinsen-Burrell
nmb at wartburg.edu
Thu Dec 9 20:04:51 GMT 2010
On 2010-12-09 12:47 , Eric Siegerman wrote:
> On Thu, 2010-12-09 at 08:00 -0600, Tom Browder wrote:
>> From the laptop I did "bzr update" and "bzr commit".
>>
>> I was told revision 492 was committed on the server.
>>
>> On the server in the project branch I then did "bzr update" and I was
>> told that I was at revision 491.
>
> I think the problem is that you have two heavyweight checkouts
> chained together: laptop -> central -> company
>
> A commit in "laptop" wants to ripple all the way up to "company",
> but bzr doesn't seem to like that -- at least, when I created a
> simpler version of your setup (using file: URLs and native bzr
> instead of svn for "company"), attempting to commit in "laptop"
> yielded a complaint that, essentially, bzr can't commit to a
> checkout of a checkout (I've lost the exact message).
>
> That was with file: checkouts; when I tried it again with newly
> created bzr+ssh: checkouts, the commit appeared to succeed, but I
> found myself in the situation you describe.
>
> So it looks as though bzr doesn't like chains of heavyweight
> checkouts, but, depending on the transports involved, it only
> sometimes refuses to commit to them. Aside: Is the latter a bug
> or an unavoidable limitation?
The former is an intentional decision (at least the last time I
encountered it) so that Bazaar does not have to check for cycles of
bound branches (A -> B -> A).
I believe that the ability to commit to a bound branch whose parent is
itself a bound branch over *any* transport is a bug. Can you give a
reproduction recipe for what you did?
> Try unbinding "central" from "company"; that should let you
> resync it with "laptop". Once that's done, you can rebind it and
> resync with "company".
This is the correct fix. The synchronization for additional branches
"up the chain" should be manual.
-Neil
More information about the bazaar
mailing list