One of our developers discovered that the strip command's --no-backup switch 
works around the abort terminating error. Our repos our now clean.


From: Mercurial [mailto:[email protected]] On Behalf Of 
Jensen, Aaron
Sent: Monday, November 21, 2016 11:39 PM
To: [email protected]
Subject: abort: unknownparent/unknown node

Yesterday, a few of our developers started seeing an "abort: 
00manifest.i@60300915ca73<mailto:00manifest.i@60300915ca73>: unknown parent!" 
error when running `hg pull` (Mercurial 3.8.4 on Windows 7 x74). I tracked the 
problem to a specific changeset, stripped it from our central repository, and 
they were able to pull again.

Last week, our Mercurial server died mid-transaction. It is very large (over 
9GB with 175k changesets). The only way to recover was to re-clone the 
repository, omitting the last 9,000 commits. After the clone, I then pushed the 
"missing" 9,000 changesets from an uncorrupted clone.

All changesets pushed fine except for two. When I push them, I get "abort: 
00manifest.i@8ed639f6a6e0<mailto:00manifest.i@8ed639f6a6e0>: no node!" and 
"abort: 00manifest.i@60300915ca73<mailto:00manifest.i@60300915ca73>: no node!" 
errors.(This second one is the same missing changeset from above). Wjhen I 
tried to strip these two changesets from my repository, I get the "abort: 
00manifest.i@60300915ca73<mailto:00manifest.i@60300915ca73>: no node!" error. I 
have no idea of the missing parent/node errors are related to the corruption 
and clean-up process.

>From the repository corruption page, it seems like my only option is to 
>re-clone my repository, excluding these two changesets, then pull in the 
>remaining changesets from an uncorrupted repository. Since our repository 
>takes hours to re-clone, I'm wondering if there are any other magic tricks for 
>stripping these two changesets from my repository.

_______________________________________________
Mercurial mailing list
[email protected]
https://www.mercurial-scm.org/mailman/listinfo/mercurial

Reply via email to