SVN 仓库转 Git 仓库工具
Note
即使 SVN 仓库服务器端不存在了,只要本地副本是正常的,即可使用
Tip
使用 DeepSeek 和 GitHub Copilot 辅助实现。
- 查看最近的2条日志(当前执行目录需要有.svn目录)
svn log -v --xml --stop-on-copy --limit 2 . - 查看 SVN 信息(当前执行目录需要有.svn目录)
输出示例:
svn info .Path: . Working Copy Root Path: E:\proj\XYZServer URL: https://192.168.1.9/svn/XXXProject/trunk/Program/XYZServer Relative URL: ^/trunk/Program/XYZServer Repository Root: https://192.168.1.9/svn/XXXProject Repository UUID: b8147fd3-b46e-104b-9fb4-0b9b9c2626ed Revision: 20786 Node Kind: directory Schedule: normal Last Changed Author: user01 Last Changed Rev: 12315 Last Changed Date: 2025-06-30 18:10:09 +0800 (周一, 30 6月 2025)
go mod tidy -v
build.cmd- 将
run.cmd.example拷贝为run.cmd run.cmd说明(可根据svn info命令的结果确定)LOCAL_PATH: Working Copy Root PathREPO_PATH: Relative URL 去掉开头的^/SVN_BASE: Repository RootGIT_TARGET: 希望创建 Git 仓库的目录AUTHORS: 提交者文件列表, 格式与git svn命令所需的作者文件兼容, 示例参见users.txt.exampleGIT_EMAIL: 默认提交者邮箱(当提交者文件未提供或未找到时)GIT_USER: 默认提交者用户名(当提交者文件未提供或未找到时)
- 执行
run.cmd, 等待完成即可