使用hgsubversion通过TortoiseHg推送到SVN服务器时发生“未发现任何更改”

时间:2010-12-22 06:42:22

标签: svn mercurial tortoisehg hgsubversion

我已经使用VisualSVN服务器设置了SVN服务器,并在我的开发PC中安装了TortoiseSVN,TortoiseHg,hgsubversion。我可以成功克隆SVN服务器的SVN repo,并使用TortoiseHg进行COMMIT更改。但是,当我想将更改推回到SVN服务器时,我总是收到以下消息:

pushing to svn+https://SVN.DEVTEAM:8443/svn/ProjectX/
searching for changes
no changes found
[command completed successfully Wed Dec 22 14:32:31 2010]

我在Mercurial全局设置中有以下几行:

[extensions]
rebase=
hgsubversion = C:\hgsubversion\hgsubversion

请指教!

谢谢, 威廉

4 个答案:

答案 0 :(得分:7)

我发现,这种情况发生的原因是我们在拉/推Mercurial之前没有执行任何SVN提交。我的解决方法是要求SVN服务器管理员在服务器上创建repo后对SVN repo进行初始提交。

确保初始提交包含至少一个仅包含文件夹的文件,这不足以解决问题。

答案 1 :(得分:1)

在我的情况下,出现了消息,因为要推送的更改集不是工作副本父级。

情况:

  • 3 repos:svn-server,central-hg(with hgsubversion)和hg-working-clone
  • central-hg与svn(pull)同步
  • 工作克隆有一个新版本
  • 工作克隆推送到central-hg
  • 中央试图推向svn

结果:未找到任何更改

" hg更新提示"在中央仓库(其中小贴士是新版本),推动svn再次运作。

答案 2 :(得分:0)

就我而言,我只是编辑了.hg / svn / rev_map来将svn rev修复为hg变更集。

答案 3 :(得分:0)

我在类似的情况下最终做的是使用William Choi建议的svn向svn添加文件。然后我再次使用hibernate将svn克隆到另一个目录,并将我所做的更改移植到那个(使用移植扩展)。这导致我能够将移植的更改提交给svn。