简体   繁体   English

将1.7 Subversion存储库转换为Mercurial

[英]Converting 1.7 Subversion repository to Mercurial

I have a SVN repository with the new 1.7 Subversion working copy format (centralized metadata). 我有一个SVN存储库,其中包含新的1.7 Subversion工作副本格式(集中式元数据)。 I am trying to convert it to Mercurial using the following command: 我正在尝试使用以下命令将其转换为Mercurial:

hg convert --source-type=svn --dest-type=hg --authors=authors.txt Prodigio Capi

(where Prodigio is the folder containing the SVN repo and Capi is an empty folder where I want the Hg repo to be saved) (其中Prodigio是包含SVN repo的文件夹,Capi是一个空文件夹,我希望保存Hg repo)

I had previously used this command and it worked fine. 我之前使用过这个命令,它运行正常。 However, since I upgraded my working copy to the new format (using the latest TortoiseSVN, 1.7.2), I get this error: 但是,由于我将工作副本升级到新格式(使用最新的TortoiseSVN,1.7.2),我收到此错误:

initializing destination Capi repository
file:///D:/SVN/Prodigio does not look like a Subversion repository
abort: D:\SVN\Prodigio: missing or unsupported repository

I am running Windows 7 x64 and I have TortoiseHg 2.2.1 installed. 我正在运行Windows 7 x64,我安装了TortoiseHg 2.2.1。 I also have Collabnet's command-line subversion client 1.7.1 installed, although it's not in my executable path. 我也安装了Collabnet的命令行subversion客户端1.7.1,虽然它不在我的可执行文件路径中。

I believe the problem is that Mercurial is using an outdated version of SVN. 我认为问题在于Mercurial正在使用过时版本的SVN。 Any clues on how to fix it? 关于如何解决它的任何线索?

The easiest workaround is probably to just pass the SVN repo URL to hg convert, which convert should recognize and use. 最简单的解决方法可能是将SVN repo URL传递给hg convert,转换应该识别并使用。 I think that the convert extension actually has its own logic to detect svn working copies, and that might need updating, so it may have nothing to do with the svn libraries in use by Mercurial. 我认为转换扩展实际上有自己的逻辑来检测svn工作副本,并且可能需要更新,因此它可能与Mercurial使用的svn库无关。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM