(workaround) unpushable repository after pruning of topic
This appeared in Heptapod 0.5.0. I give an easy workaround below.
If one makes an entire topic obsolete or just its head the subsystem that evaluates published topic gets confused, all subsequent pushes to the repository then fail.
In case the topic head has been pruned without a successor:
[2019-08-13 09:38:42 +0000] [15552] [WARNING] repo:/var/opt/gitlab/git-data/repositories/root/test_project.hg [hg] error: pretxnclose hook raised an exception: 'NoneType' object has no attribute 'hex'
In case the topic head is obsoleted by a public changeset that's no in same topic
[2019-08-12 23:23:30 +0000] [42] [WARNING] repo:/var/opt/gitlab/git-data/repositories/heptapod/hg-git.hg [hg] error: pretxnclose hook raised an exception: Can't find public descendants of '76d1ceaf88861f08bfaa3513990a1e296b7b4da9' in topic 'corruption-more-in-remote'
This later example is indeed the heptapod/hg-git repository itself. What I did to reach this state is to prune that changeset (that improves logs for hg-git#3 (closed) in the context of Heptapod 0.4.2 but doesn't solve it), with the public changeset that fixes hg-git#3 (closed) as its successor, because that seemed logical.
The workaround is to resurrect the topic: just start from the current public branch head, switch to the defunct topic, it will look like an empty new one, make any changeset, and push it. Don't declare the new changeset as obsoleting the pruned one: that would be a divergence.
This will be fixed by the end of August (probably will call that 0.5.2)