迁移 SVN 到 Git

来自 Alpine Linux
此材料已过时...

本文档描述了如何将 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:/~