首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用选项-file (Windows)中止cvs2git签出

使用选项-file (Windows)中止cvs2git签出
EN

Stack Overflow用户
提问于 2017-11-13 08:59:14
回答 1查看 499关注 0票数 0

我正在尝试将CVS存储库转换为GIT。但我只想逐个模块转换,因为否则我会得到fals、提交和文件的差异。存储库包含1个CVSROOT和4个模块。

所有命令都来自这个cvs2git文档。当我使用命令行选项执行此操作时:

代码语言:javascript
复制
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.datgit-dump.dat是在我的pc上创建的。

为了更容易出错,并将转换为git作者,我想使用options-file方法,但是这样做会出错。

台阶

  1. pass1 (CollectRevsPass)
  2. pass2 (CleanMetadataPass)
  3. pass3 (CollateSymbolsPass)

工作正常,但在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对此错误进行遍历)。

我不知道为什么会这样,因为我在选项文件和命令行方法中使用了相同的存储库路径。

那么我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-14 05:29:44

如果从命令行运行cvs2git,默认情况是使用内部代码读取CVS中的数据。但是,如果您使用options文件方法运行它,默认情况是使用CVSRevisionReader,它使用cvs命令从您的CVS存储库中获取信息。

一种选择是告诉options方法使用ExternalBlobGenerator而不是GitRevisionCollector。但是,如果您的存储库实际上是由CVSNT (与标准CVS相反)编写的,那么建议您使用CVSRevisionReader

“本地访问网络共享不受支持”的问题是CVSNT的一个特点。错误消息还建议解决方案:将-N添加到选项中。通过遵循这里的说明并调整传递给CVSRevisionReader构造函数的参数,您可以做到这一点:

代码语言:javascript
复制
CVSRevisionReader(cvs_executable=r'cvs', global_options=['-q', '-N', '-f']),

希望这能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47260352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档