Comment 3 for bug 597891

Revision history for this message
John Szakmeister (jszakmeister) wrote : Re: [Bug 597891] Re: 'bzr reconcile' doesn't reconcile the branch

On Thu, Jun 24, 2010 at 1:57 AM, Robert Collins
<email address hidden> wrote:
> reconcile doesn't get rid of (and isn't meant to get rid of) ghost
> revisions.

Sure, but there are "inconsistent parents" that it should be re-writing.

> I would close this as invalid, but I think its a proxy for some other
> issue you are experiencing, so lets try to dig into that.

I think it's still valid despite ghosts. Primarily because bzr-svn
introduces them differently than intended.

> What is actually going on?

Here's the actual output:

Checking working tree at '/Users/jszakmeister/tmp/ghosts-ss/bzr/unreconcilable'.
Checking branch at
'file:///Users/jszakmeister/tmp/ghosts-ss/bzr/unreconcilable/'.
Checking repository at
'file:///Users/jszakmeister/tmp/ghosts-ss/bzr/unreconcilable/'.
checked repository <bzrlib.transport.local.LocalTransport
url=file:///Users/jszakmeister/tmp/ghosts-ss/bzr/unreconcilable/>
format RepositoryFormat2a()
     3 revisions
     3 file-ids
     0 unreferenced text versions
     1 ghost revisions
      <email address hidden>
     1 inconsistent parents
      * file2.txt-20100623220121-44a7dz1q7ivlmidc-1 version
<email address hidden> has parents
('<email address hidden>',) but should
have ()
checked branch file:///Users/jszakmeister/tmp/ghosts-ss/bzr/unreconcilable/
format Branch format 7

I have a theory for one of the problems I'm seeing. Right now, I'm
hosting several branches via bzr+http, but I have absolutely zero
support for plain http. Most of the branches are served quite
happily, but a couple insist on failing to branch. When I dug into
things further, the only difference I could find with the branches is
that some of them had ghost revisions, and "inconsistent parents". So
I said, "hey, just for giggles, let me at least make the inconsistent
parents go away." Tried running 'bzr reconcile' on the branch,
checked it with 'bzr check' and it had exactly the same output. I
*know* this used to work, for the inconsistent parents. I've done it,
and several others on-list have done it too. So I believe this is a
regression. At any rate, I'm really curious if the fact that there
are ghosts, and failing to branch are related. On the branches with
these ghosts and inconsistent parents, the client ends up trying to
check the branch format outside the smart server protocol, where it
doesn't bother doing that with the others.

Hope that helps!