我正在尝试将CVS存储库转换为GIT。但我只想逐个模块转换,因为否则我会得到fals、提交和文件的差异。存储库包含1个CVSROOT和4个模块。
所有命令都来自这个cvs2git文档。当我使用命令行选项执行此操作时:
python path\to\cvs2git --blobfile=cvs2svn-tmp\git-blob.dat --dumpfile=cvs2svn-tmp\git-dump.dat "--username=cvs2git" \\remoteServer\path\to\myrepo\module迁移起作用。
存储库位于远程服务器上,git-blo.dat和git-dump.dat是在我的pc上创建的。
为了更容易出错,并将转换为git作者,我想使用options-file方法,但是这样做会出错。
台阶
工作正常,但在pass4 (FilterSymbolsPass)中,我得到了一个错误:要转换的模块的路径是\\remoteServer\path\to\myrepo\module。
过滤排除的符号和汇总项目..。错误:命令'cvs -Q -R -f -d : Local :\remoteServer\path\ to \myrepo K co -r1.1 -p -kb模块/..cvsignore‘在退出status=1时失败,输出如下: cvs签出中止:不支持对网络共享的本地访问(使用-N对此错误进行遍历)。
我不知道为什么会这样,因为我在选项文件和命令行方法中使用了相同的存储库路径。
那么我该如何解决这个问题呢?
发布于 2017-11-14 05:29:44
如果从命令行运行cvs2git,默认情况是使用内部代码读取CVS中的数据。但是,如果您使用options文件方法运行它,默认情况是使用CVSRevisionReader,它使用cvs命令从您的CVS存储库中获取信息。
一种选择是告诉options方法使用ExternalBlobGenerator而不是GitRevisionCollector。但是,如果您的存储库实际上是由CVSNT (与标准CVS相反)编写的,那么建议您使用CVSRevisionReader。
“本地访问网络共享不受支持”的问题是CVSNT的一个特点。错误消息还建议解决方案:将-N添加到选项中。通过遵循这里的说明并调整传递给CVSRevisionReader构造函数的参数,您可以做到这一点:
CVSRevisionReader(cvs_executable=r'cvs', global_options=['-q', '-N', '-f']),希望这能帮上忙!
https://stackoverflow.com/questions/47260352
复制相似问题