如何在mercurial中使用与子存储库相同的git checkout <commit>?

时间:2015-05-30 19:23:38

标签: git mercurial

根据Mercurial GitConceptsgit reset --hard的等效值为hg revert -a --no-backup。完成后,我希望git checkout <commit>的{​​{1}}等效。

然而,即使在hg update -c <cset>abort: uncommitted changes in subrepository 'subrepo/subsubrepo'中运行hg revert -a --no-backup,它也会失败并显示错误subrepo/subsubrepo

1 个答案:

答案 0 :(得分:3)

据我所知,问题在于Mercurial tracks the subrepo commit associated with each main repo commit。因此,确保subrepo和主要回购都“干净”是不够的。您还必须确保将subrepo更新为与主repo的提交相对应的提交。

在我看来,<%= f.email_field :email, id: "email" %> 在大多数情况下比它的价值更麻烦(当你想要取消合并时,它也表现得很奇怪)。如果您只是想让存储库看起来像工作目录的父目录,那么执行hg revert通常会更加万无一失(注意资本hg up -C .,并记住这不会留下备份);您可以将-C替换为其他提交,以便在一个步骤中更新到该提交。由于更新是递归的,因此这应该在subrepo上正常工作。但是,它将使用一个命令以递归方式在整个存储库(包括subrepos)上进行操作,因此请确保您没有吹走您想要保留的更改。