问题描述
我正在尝试将 CVS 现有存储库转换为 Git 存储库。 存储库在“cvs”主目录下有 2 个目录“modules”,例如: 简历/模块_a cvs/module_b
目前,我正在尝试在以下有用页面上学习 SourceForge 的 3 种方法:
https://sourceforge.net/p/forge/documentation/CVS/
我使用的第一种方法是通过 ssh shell 连接并按照使用“cvs2git”的说明进行操作,但在过程结束时,“导入”过程似乎只导入了“module_a”。
-
第二种方法是在本地使用“cvs2git”,但目前似乎无法下载该工具作为tarball的源站点: 我尝试从本网站提供的网址:https://www.mcs.anl.gov/~jacob/cvs2svn/cvs2git.html(不可用站点:http://cvs2svn.tigris.org/servlets/ProjectDocumentList)
所以我尝试从 SF.NET Shell 下载,但是手动重新组装所有 deps 很痛苦。 此外,该工具似乎可以从 Ubuntu 软件包中获得,但现在 Ububtu WSL 通知我该工具不存在:
sudo apt-get install cvs2svn
Reading package lists... Done
Building dependency tree
Reading state @R_81_4045@ion... 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”:
git cvsimport -v -a -k -d ~/cvs -C ~/new-git -A ~/authors.txt MODULE
但是这个工具在处理了它声称的所有 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 存储库吗? 提前致谢。
ssh -t [email protected] 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
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)