我目前正在项目中使用hgsubversion来享受本地提交的好处,而项目的官方SCM是Subversion。为了将本地提交推送到SVN回购,我一直在使用hg rebase --svn
,后面跟一个简单的hg push
,到目前为止已经有了成功的结果。
我遇到的一个小小问题是,如果我对某些我想要推送的东西有一定的修复,而没有推动其他所有内容,我想到我可以提交修复和然后推它。但这给了我以下信息:
好的,好的。所以我搁置了我未提交的更改。但由于某种原因,我无法搁置一个特定的变化(添加了一个新文件)。我想,到底是什么,我可以这样做,因为它不会造成任何伤害。abort:未完成的未提交更改
这就是我的所作所为。但后来我发现hg push
可以使用-r
标志,根据帮助文档,这会产生这种影响:
如果使用-r / - rev,则指定的修订版及其所有祖先将被推送到远程存储库。
大!所以这听起来就像我想要的那样。现在说我的最新两个本地提交被给予修订号94和95.我认为我可以hg push -r 94
并且只将第一次提交到SVN,而第二次保持纯粹的本地提交。但出于某种原因,这推动了94和95.
我做错了什么?
答案 0 :(得分:2)
假设您启用了mq扩展程序:
hg qimport -r95:
hg qpop -a
hg push
hg qpush -a
答案 1 :(得分:1)
我对Hg不太熟悉,但这就是你能做的:
hg up -r 94
hg rebase --svn
hg push --svn