在 Centos8 中 CVS 到 GIT
CVS to GIT in Centos8
Centos8 中缺少 cvsimport。无法安装。
现在我尝试使用快速导入。大多数回购都是可以的,但它会因某些具有二进制文件的回购而失败。我认为 cvs-fast-export
中存在错误
$ cat ../repoexport.fi|git fast-import fatal: Unsupported command:
mark :11 fast-import: dumping crash report to
.git/fast_import_crash_19654 Unpacking objects: 100% (1/1), 21 bytes |21.00 KiB/s, done.
这是来自崩溃报告
Most Recent Commands Before Crash
---------------------------------
blob
mark :1
data 30790
blob
mark :2
data 7060
blob
mark :3
data 30650
blob
mark :4
data 516323
blob
mark :5
data 355588
blob
mark :6
data 497407
blob
mark :7
data 4397056
blob
mark :8
data 807
blob
mark :9
data 299008
blob
mark :10
data 196608
blob
mark :11
* blob
任何将 cvs 转换为 git 的解决方案?
根据原问题中的上述评论交流发布解决方案
我建议尝试 cvs2git。
@RamananT 说
I Tried and unfortunately cvs2git also failed with this error ERROR: The command 'cvs -Q -f -d :local:/home/user/path/to/cvs/repo/proj co -r1.1.1.2.1 -p -kb scripts/additions/320_str.20070501-001101.sql'
failed with exit status=-9 and no output.
然后我建议
您可以自己尝试该命令以查看 ,v
文件是否已损坏。存储的sql文件是一个文本文件,但是.sq,v
文件是RCS格式的,你无法通过检查来判断它是否损坏。但是你可以很容易地
- 运行
cvs2git
说的 cvs
命令失败,看看当 运行 手动时它是否对你失败。或者
- 您可以制作该存储库的副本,删除该文件,然后尝试
cvs2git
。
如果那个特定文件确实是一个问题,那也会告诉你。
Thanks @mort, that made wonders. If it is an answer I would accept this solution. The issue is just on that file. I didn't investigate the issue but just deleted and carried on
感谢@Mort,我能够解决问题并成功将 CVS 导入 GIT (BitBucket)。帮助这里的任何人是确切的步骤。这适用于 Centos 8。
复制需要迁移的cvs repo
scp -r cvs_repo_server:/path/to/cvs/repo/project1 ./
创建 CVSROOT 以满足 cvs2git 工具
mkdir project1/CVSROOT
删除失败的有问题的文件。你如何找到 运行宁
cvs2git 在下面的步骤中。这是反复试验
rm
克隆和运行 cvs2git
git 克隆 https://github.com/mhagger/cvs2svn.git
cd cvs2svn
./cvs2git --blobfile=blob.dat --dumpfile=dump.dat --username=cvs2git --fallback-encoding utf-8 。 ./project1/
CD ..
在 bitbucket 中创建 repo,然后克隆空 repo
git 克隆 bitbucket/url/mig_project1
cd 到克隆的 repo
cd mig_project1
导入git并推送
cat ../cvs2svn/blob.dat ../cvs2svn/dump.dat | git 快速导入
git 推 --all
git 推 --tags
Centos8 中缺少 cvsimport。无法安装。 现在我尝试使用快速导入。大多数回购都是可以的,但它会因某些具有二进制文件的回购而失败。我认为 cvs-fast-export
中存在错误$ cat ../repoexport.fi|git fast-import fatal: Unsupported command:
mark :11 fast-import: dumping crash report to
.git/fast_import_crash_19654 Unpacking objects: 100% (1/1), 21 bytes |21.00 KiB/s, done.
这是来自崩溃报告
Most Recent Commands Before Crash
---------------------------------
blob
mark :1
data 30790
blob
mark :2
data 7060
blob
mark :3
data 30650
blob
mark :4
data 516323
blob
mark :5
data 355588
blob
mark :6
data 497407
blob
mark :7
data 4397056
blob
mark :8
data 807
blob
mark :9
data 299008
blob
mark :10
data 196608
blob
mark :11
* blob
任何将 cvs 转换为 git 的解决方案?
根据原问题中的上述评论交流发布解决方案
我建议尝试 cvs2git。
@RamananT 说
I Tried and unfortunately cvs2git also failed with this error
ERROR: The command 'cvs -Q -f -d :local:/home/user/path/to/cvs/repo/proj co -r1.1.1.2.1 -p -kb scripts/additions/320_str.20070501-001101.sql'
failed with exit status=-9 and no output.
然后我建议
您可以自己尝试该命令以查看 ,v
文件是否已损坏。存储的sql文件是一个文本文件,但是.sq,v
文件是RCS格式的,你无法通过检查来判断它是否损坏。但是你可以很容易地
- 运行
cvs2git
说的cvs
命令失败,看看当 运行 手动时它是否对你失败。或者 - 您可以制作该存储库的副本,删除该文件,然后尝试
cvs2git
。 如果那个特定文件确实是一个问题,那也会告诉你。
Thanks @mort, that made wonders. If it is an answer I would accept this solution. The issue is just on that file. I didn't investigate the issue but just deleted and carried on
感谢@Mort,我能够解决问题并成功将 CVS 导入 GIT (BitBucket)。帮助这里的任何人是确切的步骤。这适用于 Centos 8。
复制需要迁移的cvs repo
scp -r cvs_repo_server:/path/to/cvs/repo/project1 ./
创建 CVSROOT 以满足 cvs2git 工具
mkdir project1/CVSROOT
删除失败的有问题的文件。你如何找到 运行宁 cvs2git 在下面的步骤中。这是反复试验
rm
克隆和运行 cvs2git
git 克隆 https://github.com/mhagger/cvs2svn.git
cd cvs2svn
./cvs2git --blobfile=blob.dat --dumpfile=dump.dat --username=cvs2git --fallback-encoding utf-8 。 ./project1/
CD ..
在 bitbucket 中创建 repo,然后克隆空 repo
git 克隆 bitbucket/url/mig_project1
cd 到克隆的 repo
cd mig_project1
导入git并推送
cat ../cvs2svn/blob.dat ../cvs2svn/dump.dat | git 快速导入
git 推 --all
git 推 --tags