如何将.svn文件夹提交到Mercurial存储库?

时间:2011-01-26 15:01:01

标签: svn mercurial directory commit

我想将每个代码文件夹的.svn文件夹提交到Hg存储库。问题是许多.svn个子文件夹都是空的,因此无法提交到mercurial存储库。

我找到的一个解决方案是为每个文件夹添加一个空文件,但这很麻烦。是不是有更简单的方法?

2 个答案:

答案 0 :(得分:4)

您需要为每个文件添加一个空文件。你可以通过以下方式快速完成:

for thedir in $(find /path/to/repo -type -d -name .svn) ; do
  touch $thedir/emptyfile
  hg add $thedir/emptyfile
done

答案 1 :(得分:2)

如果您想在svn repo之上使用hg,可以尝试hgsubversion extension。 Hgsubversion让mercurial能够像svn客户端那样与svn服务器通信。

OTOH如果你坚持在任何地方都有.svn文件夹,你可以使用hgsvn来管理你的并行hg和svn repo checkout。但是hgsvn的缺点是它没有自动重新绑定到svn的东西,所以当你必须合并(在mercurial合并方面)svn历史记录与你的本地历史记录时,你不能导出每个本地提交,只有合并提交(即使存在合并,也有导出每个提交的方法,但第一个本地提交将撤消最近的svn历史记录,并且合并提交将重做它,这会导致缺陷svn历史记录)。 / p>

有关不同svn< - > hg工作流程的更多信息,请访问WorkingWithSubversion维基页面。