二话不说,先看代码:
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 --p