Mercurial:删除单个 non-head 变更集

Mercurial: Removing a single, non-head, changeset

如何从存储库中删除单个变更集(不是头部)?

我的变更集与其他任何东西都不相关(它只是一堆我不应该做的文件添加),所以它应该很容易删除而不会出现问题。此外,我的存储库实际上具有线性历史记录(每个变更集只有一个 child,特别是,只有一个头)。

背景

我正在使用 hgsubversion,当我尝试推送涉及名称中包含变音符号的任何文件的提交时,它或我的 SVN 服务器崩溃了。我不小心添加了这样一个文件,然后在它上面做了一些其他的工作。现在需要删除有问题的提交。

作为 ,strip 删除 后代,而不是祖先。如果没有后代,你就可以了。 (不过要注意:另一个分支的后代 被剥夺!)

如果您的问题是提交有后代,您仍然可以使用 hg histedit 删除它,同时保留其后代。