A coworker made some changes, committed the subrepo, and pushed to Kiln. He forgot, or didn't realize that he needed to commit the parent repo and push to make sure that .hgsubstate was updated. I reminded him of this, and he committed the parent and pushed to Kiln (this detail may be irrelevant). I went and pulled from Kiln, and am blasted with
unknown revision '6a8239a2509fa5ab000e94a010e72693096fe8e7+'
Obviously, the + sign shouldn't be there. In other questions here and elsewhere, this error often occurs when committing, and can be fixed by manually removing the + sign.
In this case, the .hgsubstate file has + symbols on all but one of the hashes for the commit my coworker made. I can bypass this locally, by stripping out the affected changeset, but I can't do anything about it in Kiln. The other option is to do some sort of branch magic, but I cannot even update to the affected changeset.
This appears to be a bug in Mercurial, according to these reports, possibly due to updating the parent to a previous revision with uncommitted changes in a subrepo:
I'm going to recommend to my entire team to upgrade to the newest version of TortoiseHG and Mercurial (my co-worker was using 1.5!), but that doesn't fix the problem at hand.
Any ideas on how I can cork this genie, and bypass the broken changeset?