在忍受了多年的subversion(以及CVS、SourceSafe和其他;有人记得SCCS吗?)现在我在本地的hg仓库里有相当多的项目历史记录,每天都会推送到bitbucket,然后再推送到我的家用机器上。
问题是,我的公司希望我在subversion中维护这个历史的副本。我试着安排这件事却碰壁了。我已经安装了hgsubversion,我想是正确的。我已经使用svnadmin创建了一个空的svn存储库,准备保存hg的历史记录。
但是现在呢?说明书上说从拉一个克隆的鼻子开始?那是什么?我假设这意味着签出一个新的空svn目录的副本。好了。
但是现在呢?我假设下一步是将真正的本地hg克隆推送到我刚刚签出的空svn仓库。但我试过的都没用。Pull失败如下,报告"不相关的存储库"(我记得我把我的主本地hg repo的URL设置为gate,以绕过"需要一个URL"的弹出框,在我尝试过的所有其他内容上。
发现新的变更集139d02f4b233检查4 e97a23b6815:342df9e52cecAbort:存储库无关[command return code 255 Mon Apr 25 11:29:33 2011]
所有这些摸索的结果是一个包含.hg, .svn和.hgignore条目的目录,没有其他条目。
所以,我觉得我错过了一些基本的东西,几百人现在肯定已经尝试过了。有人能帮我开始吗?谢谢!
PS:目前的目的是将SVN永久维护为团队回购,并定期从Hg推送更改,这将无限期地保持我的主要客户端。
您可以使用转换扩展名:
hg convert --dest-type svn mercurialrepo svnrepo
和hgsubversion允许你保持两者同步(双向)
已经在这里回答了:
从Mercurial转换到Subversion
从Mercurial迁移到Subversion
不妨看看这个问题的答案。
Hgsubversion用于使用Hg从SVN克隆的存储库,而不是其他方式。