Mercurial现在有Phases这是一个很好的机制,可以防止人们改变不应该改变的历史。将变更集推送到远程存储库时,变为public
且不能再为rebased
。如果存储库是公共的并且您不希望其他人更改您的更改集,这通常是一件好事。
但是,如果您拥有自己的临时存储库,只能与自己共享draft
更改集,则会非常烦人。 Mercurial has a option to turn this off。将其添加到远程存储库的.hg/hgrc
文件 。
[phases]
publish = False
这将阻止推送到远程存储库的更改集从draft
阶段转移到public
阶段(本地变更集和刚刚推送到远程存储库的变更集。但是,仍然将此变更集拉下来将始终在public
阶段将其拉下来。
我希望在draft
阶段取消变更集。我只是想将变更集推送到我的个人服务器,然后在家中将其下载。在我拉出它之后,我将rebase
我的临时提交放在我从真正的发布服务器上提取的任何提交之后。
任何避免将拉出的变更集自动移动到public
的方法都会很棒。这个远程存储库是我自己的完整和完整的草稿服务器。在rebase
尝试失败后,被迫手动将变更集移回draft
真正开始磨损。
答案 0 :(得分:1)
这似乎是一个错误。您使用的是什么版本的Mercurial?您是否尝试在https://bz.mercurial-scm.org处提交错误?
答案 1 :(得分:0)
我通过Bugzilla的帮助解决了这个问题。这是my final post there的片段(感谢您让我走上正确的道路djc)。
看起来我们可以将其归结为用户错误/错误测试用例( 课程)。如果有人责备(除了我自己),它可能是 TortoiseHg。我的测试用例包括剥离提交和一个提交 两个存储库然后更改该提交的阶段 另一个存储库再次推/拉。好像是TortoiseHg 有时会陷入错误的阶段(可能是缓存问题)。一世 当我来回切换我的服务器时,仍然可以重现这一点 在出版和非出版之间(但不是那么一致) 前)。
但是,执行命令行拉动似乎每次都能正常工作。 我正在使用命令行检查传出/传入,执行阶段 变化等等,但可能从未用它来实际拉动。
很抱歉浪费每个人的时间。我把它解决为无效,不确定是否 有人想把它改成更好的类别。如果有,请告诉我 是你要我检查或扩展的任何其他内容。
我会在任何更新中进行编辑,如果有人仍然遇到此问题,请与我们联系。