Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Git one repo中转换CVS原始存储库?_Git_Cvs_Sourceforge_Cvs2git_Cvsimport - Fatal编程技术网

如何在Git one repo中转换CVS原始存储库?

如何在Git one repo中转换CVS原始存储库?,git,cvs,sourceforge,cvs2git,cvsimport,Git,Cvs,Sourceforge,Cvs2git,Cvsimport,我正在尝试将CVS现有回购转换为Git回购。 回购协议在“cvs”主目录下有2个目录“模块”,类似于: cvs/模块a cvs/模块b 目前,我正在以下有用的页面尝试在SourceForge上学习的3种方法: 我使用的第一种方法是通过ssh shell连接,并遵循使用“cvs2git”的说明,但在流程结束时,“导入”流程似乎只导入了“module_a” 第二种方法是在本地使用“cvs2git”,但用于下载工具作为tarball的源站点目前似乎不可用: 我尝试了这个网站提供的url:(不可用的

我正在尝试将CVS现有回购转换为Git回购。 回购协议在“cvs”主目录下有2个目录“模块”,类似于: cvs/模块a cvs/模块b

目前,我正在以下有用的页面尝试在SourceForge上学习的3种方法:

  • 我使用的第一种方法是通过ssh shell连接,并遵循使用“cvs2git”的说明,但在流程结束时,“导入”流程似乎只导入了“module_a”

  • 第二种方法是在本地使用“cvs2git”,但用于下载工具作为tarball的源站点目前似乎不可用: 我尝试了这个网站提供的url:(不可用的网站:)

  • 所以我试着从SF.netshell下载,但是手动重新组装所有的dep是一件痛苦的事情。 此外,该工具似乎可以从Ubuntu软件包中获得,但现在Ububtu WSL通知我该工具不存在:

        sudo apt-get install cvs2svn
        
        Reading package lists... Done
        Building dependency tree
        Reading state information... Done
        Package cvs2svn is not available, but is referred to by another package.
        This may mean that the package is missing, has been obsoleted, or
        is only available from another source
        
        E: Package 'cvs2svn' has no installation candidate
    
  • 所以我尝试了“git cvsimport”:
  • 但是这个工具在处理了它声称的所有CVS源之后

    cvs rlog: Logging module_a/src/main/resources/res
    DONE; creating master branch
    fatal: refs/heads/origin: not a valid SHA1
    fatal: master: not a valid SHA1
    fatal: You are on a branch yet to be born
    checkout failed: 32768
    
    所以,请你帮我找到最实用的方法,在本地转换旧的CVS回购协议? 提前谢谢

    编辑:在案例1中,我按照上面页面链接中的说明操作:

    ssh -t USERNAME@shell.sf.net create
    
    mkdir cvs2git-tmp 
    cd cvs2git-tmp 
    cvs2git --blobfile=blob.dat
    --dumpfile=dump.dat \
        --username=FIXME --default-eol=native \
        --encoding=utf8 --encoding=latin1 --fallback-encoding=ascii \
        /home/classic/cvs/PROJECT
    
    cat blob.dat dump.dat | git --git-dir=/home/git/p/PROJECT/code.git fast-import 
    rm blob.dat dump.dat
    

    你能为#1提供更多细节吗?很难说这里出了什么问题。有几个问题,所以问这些问题(),但我们需要知道你的具体情况。是的,谢谢。我使用命令“ssh-t”登录到SF shellUSERNAME@shell.sf.net创建”。然后我按照上面页面的说明使用命令:mkdir cvs2git tmp cd cvs2git tmp cvs2git--blobfile=blob.dat--dumpfile=dump.dat\--username=FIXME--default eol=native\--encoding=utf8--encoding=latin1--fallback encoding=ascii\/home/classic/cvs/PROJECT;cat blob.dat dump.dat | git--git dir=/home/git/p/PROJECT/code.git fast import rm blob.dat dump.datI在许多年前,大约在2008年左右,直接使用了
    cvs2git
    (不是
    git-cvsimport
    ),它运行得非常好,只是速度非常慢。不过,这取决于
    cvsps
    ,正如我所记得的,当时cvsps已经处于不受支持的危险之中。从那时起,它可能已经被重写(CVSP和/或cvs2git)。谢谢,在此期间,我将尝试搜索CVSP。
    ssh -t USERNAME@shell.sf.net create
    
    mkdir cvs2git-tmp 
    cd cvs2git-tmp 
    cvs2git --blobfile=blob.dat
    --dumpfile=dump.dat \
        --username=FIXME --default-eol=native \
        --encoding=utf8 --encoding=latin1 --fallback-encoding=ascii \
        /home/classic/cvs/PROJECT
    
    cat blob.dat dump.dat | git --git-dir=/home/git/p/PROJECT/code.git fast-import 
    rm blob.dat dump.dat