迁移 SVN 到 Git
![]() 本文档描述了如何将 SVN 仓库迁移到 git。仅供历史参考。(讨论) |
初始化 git 仓库
创建一个临时工作区。
mkdir proj-tmp
初始化 git 仓库。如果您的 svn 仓库没有标准的 trunk branches 和 tags 目录,则不应使用 --stdlayout
。您也可以使用 -T trunk -b branches -t tags
。
cd proj-tmp git svn init svn://svn.alpinelinux.org/proj --stdlayout
创建用户映射
首先创建 users.txt 文件,其中 svn 用户映射到 git 的电子邮件地址。
echo "ncopa = Natanael Copa <ncopa@example.com>" > users.txt
连接用户映射
将 users.txt 连接到空的 git 仓库,以便重新映射用户。
git config svn.authorsfile ../users.txt
拉取 SVN 仓库
这可能需要一些时间。
git fetch
上传 Git 仓库
现在我们可以创建一个裸仓库并将其上传到 dev.alpinelinux.org/gitroot。
cd .. git clone --bare proj-tmp proj.git scp -r proj.git dev.alpinelinux.org:/~