代码仓库由SVN迁移到GIT

发布 : 2019-11-05 分类 : 版本控制 浏览 :

http://zhouinfo.site/svnLearn.git

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 先从svn服务中复制出空项目 目的是获取提交用户
svn checkout --depth=empty --username=zhouinfo svn://zhouinfo.site:/svnLearn

# 制造一个用户模板
echo '(no author) = no_author <no_author@no_author>' > users.txt

# 进入项目
cd svnLearn

# 将有提交代码的用户提取出来
svn log --xml | grep -P "^<author" | sort -u | perl -pe 's/<author>(.*?)<\/author>/$1 = $1 <$1\@qq.com>/' >> ../users.txt

# 需要编辑用户 因为svn是没有邮箱信息的 需要手动添加上去 需要和之后git提交用户邮箱对应 这样就知道之前svn提交的代码对应的git是谁了

cd ..
vim user.txt

# 使用git工具 将svn代码仓库转换成git仓库
git svn clone -r1:HEAD svn://zhouinfo.site:/svnLearn --no-metadata --authors-file=users.txt svnLearn --username zhouinfo
# 输入对应svn的密码

# 进入git项目
cd svnLearn

#
# Git 全局设置

#清除账号密码缓存 需要用管理员操作
git config --system --unset credential.helper

git config --global user.name "zhouinfo"
git config --global user.email "zhouinfo@qq.com"

#git remote rename origin old-origin
git remote add origin http://zhouinfo.site:/svnLearn.git
git push -u origin --all
git push -u origin --tags
本文作者 : zhouinfo
原文链接 : http://blog.zhouinfo.site/2019/11/05/%E4%BB%A3%E7%A0%81%E4%BB%93%E5%BA%93%E7%94%B1SVN%E8%BF%81%E7%A7%BB%E5%88%B0GIT/
版权声明 : 本博客所有文章除特别声明外,均采用 CC Apache License 2.0 许可协议。转载请注明出处!
留下足迹