[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] monotone merge error

From: Timothy Brownawell
Subject: Re: [Monotone-devel] monotone merge error
Date: Sun, 16 May 2010 11:16:22 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100411 Icedove/3.0.4

On 05/16/2010 10:14 AM, Stephen Leake wrote:
Stephen Leake<address@hidden>  writes:

I encountered this bug at work again this week. I have more clues about
what causes it, and I'll work on a reproducer.

In the meantime, I've implemented a check in 'db check', and a fix in
'db regenerate_caches'.

I now have a reproducer for this bug; see tests/branch_leaves_sync_bug/

The bug occurs when two developers each do the same merge, one developer
adds another commit, and then they sync. The merge revision and the new
commit revision are both left in branch_leaves; the merge revision
should have been deleted. I'm guessing the merge revision was added back
during the sync.

The bug does not occur if the two "developers" use the same authorname
and key.

I have not started trying to find the bug; I'm just basking in finding a
reproducer :).

| Abe does a merge
| Beth does an identical merge
| Beth commit a child of that merge
| Beth pulls from Abe

This results in Beth getting a new branch cert on the merge revision, which is an ancestor of the current leaves of its branch. The logic in database::record_as_branch_leaf() didn't recognize that this could happen, but thought that a new cert on anything that wasn't already a leaf would make it a leaf. It should be fixed now.


Free public monotone hosting:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]