二话不说,先看代码:
cat run.sh
#!/bin/sh
#rsync -av admin@cvshost::/cvshome/module/ /data/cvs_migration/CVSRepo/module
rm -rf /data/cvs_migration/cvs2git-tmp
mkdir /data/cvs_migration/cvs2git-tmp
/data/cvs_migration/cvs2svn-2.4.0/cvs2git \
--encoding=gbk\
--blobfile=/data/cvs_migration/cvs2git-tmp/git-blob.dat \
--dumpfile=/data/cvs_migration/cvs2git-tmp/git-dump.dat \
--username=cvs2git \
/data/cvs_migration/CVSRepo
rm -rf /data/cvs_migration/GitTargetRepository.git
git init /data/cvs_migration/GitTargetRepository.git
cd /data/cvs_migration/GitTargetRepository.git
cat /data/cvs_migration/cvs2git-tmp/git-blob.dat /data/cvs_migration/cvs2git-tmp/git-dump.dat|git fast-import
#以下用来修改目录结构,使某个目录module成为根目录
#git filter-branch --subdirectory-filter module -- --all
#以下用来瘦身
#git reflog expire --expire=now --all && git gc
CVS到Git迁移教程:保留历史记录与分支

本文详细介绍了如何使用cvs2git工具将CVS仓库迁移到Git,确保在转换过程中保留原有的历史记录和分支信息。通过rsync复制CVS仓库文件,然后借助cvs2git完成迁移过程。
最低0.47元/天 解锁文章
1170

被折叠的 条评论
为什么被折叠?



