[non topological heads] (was: resolved data corruption with convert, now I can't push)
Uwe Brauer
oub at mat.ucm.es
Thu Jun 1 10:56:47 UTC 2017
> On Wed, 31 May 2017 07:00:47 -0400, Uwe Brauer <oub at mat.ucm.es> wrote:
> Isn't the clone that was the source of rsync still around?
I checked my two laptops and the USB, unfortunately no, I don't have any
clean clone. The data corruption must have occurred some days ago.
Conclusion I never ever again will use rsync to copy a repo to a USB, I
will use push instead.
> I think converting and ignoring errors is the Rambo solution. You
> could use 'incoming' from BB into the converted repo to count how many
> BB commits got mangled. If there aren't many, maybe you don't care
> (though it would be recent). If there are many, that means the
> corruption occurred early on, not necessarily that there's something
> wrong with subsequent commits.
Given that I don't posses a corruption free clone (save the 2 weeks old
repo in bitbucket). I see the following solutions:
- I use the converted repo, I delete the bitbucket repo, re-add
it and push from the converted. History is of course changed
- or I clone the bitbucket one. I delete .hg in the converted one,
copy all files into the the bitbucket clone commit and push. I
will loose the history of the last two weeks.
- I clone the bibucket one, then I pull from the converted one and
try to merge. I did this, but when I push I sill receive
abort: push creates new remote head c698c52f6a03!. That head is
not a topological one, so I don't know what to do.
- I could try to run push -f
- or I could try to merge that rev with tip as well. I looked at the
rev, it is from September last year and I don't understand
why it has a head. Most likely from the data corruption?
Last comment: the bitbucket repo has 4 named branches
year-2016-17 518:7cdd8585c0ac
default 472:6004f738e2d5
exam-geo2-2016-parts 456:adfdfc6ba6c5
no-exam 256:1888f9c19fce
But five topological heads the 5th is
changeset: 386:1aea182c63f3
parent: 378:05af9bca5fae
Which I don't understand frankly where that comes from.
The recovered one with convert has also 4 branches (the same as
bitbucket, and 5 topological heads.
But the one in which I merged the recovered one with the bitbucket, has
these heads
changeset: 585:c3ca8d2bfcd0
branch: exam-geo2-2016-parts
user: Uwe Brauer <oub at mat.ucm.es>
date: Thu Jun 30 16:14:23 2016 +0000
summary: Finish publishing notas
changeset: 456:adfdfc6ba6c5
branch: exam-geo2-2016-parts
user: Uwe Brauer <oub at mat.ucm.es>
date: Thu Jun 30 16:14:23 2016 +0000
summary: Finish publishing notas
What the heck happened here?
Also it confuses me that when pushing hg complains about
rev c698c52f6a03! That is a head but not a topological one.
I thought I understand the graphs and the heads but I don't. Is the non
topological head harmful?
I swore I will never use rsync for repos again
Thanks
Uwe Brauer
More information about the Mercurial
mailing list