1

我目前在一个项目上使用 hgsubversion 来享受本地提交的好处,而该项目的官方 SCM 是 Subversion。为了将本地提交推送到 SVN 存储库,到目前为止,我一直在使用hg rebase --svn后跟一个简单的成功结果。hg push

我遇到的一个小问题是,如果我对想要推动的东西有某种修复,而不推动其他一切,我认为我可以提交该修复然后推动它。但这给了我以下信息:

abort:未提交的未提交更改

好的。所以我搁置了我未提交的更改。但由于某种原因,我无法搁置一项特定更改(添加了一个新文件)。我想,到底是什么,我可以这样做,因为它不会真正造成任何伤害。

所以这就是我所做的。但是后来我看到hg push可以使用一个-r标志,根据帮助文档,它具有以下效果:

如果使用 -r/--rev,则指定的修订及其所有祖先将被推送到远程存储库。

伟大的!所以这听起来正是我想要的。现在说我最近的两个本地提交的修订号为 94 和 95。我想我可以做到hg push -r 94 ,并且只将第一个提交推送到 SVN,而第二个仍然是纯本地提交。但由于某种原因,这推动了 94 和 95。

我做错了什么?

4

2 回答 2

2

假设您启用了 mq 扩展:

hg qimport -r95:
hg qpop -a
hg push
hg qpush -a
于 2011-04-21T16:22:41.037 回答
1

我对汞不太熟悉,但这是你可以做的:

hg up -r 94
hg rebase --svn
hg push --svn
于 2011-04-20T18:27:52.673 回答