我正在尝试从结构如下的旧 SVN 存储库创建一个新的 git 存储库:
/root
trunk
build_scripts
packager
0.1.0
0.1.1
0.1.2
...etc...
0.x 显然传统上位于tags
目录中,并且是软件的版本trunk
,代表需要保留的软件的打包版本。另外两个是打包测试的支持脚本。
主要是我对存储库进行了提交——每个版本都是用一个svn copy
命令创建的。
这可能不是最佳实践,但它很容易开发——我检查了构建环境,随后检查了主干供我使用。当我准备好时,打包脚本会复制新标签并为我创建一个可下载的包。
我该如何清理它并将其带入 git 存储库?理想情况下,我想使用最佳实践,并希望保留所有历史记录。
我试过使用svn2git
:
svn2git path-to-repo --trunk trunk --nobranches --authors=/path/to/authors.txt
它为我填充了一个带有主干的 repo,但我没有看到任何标签(git tag
什么都不显示)。理想情况下,我也希望将其他脚本也带过来。
我使用 GIT 的主要目的是我的开发方法 —— 有时我被困在远离测试机器的开发中,并希望提交到一个测试存储库,在那里我可以在将其推向上游之前修复错误。现在我只需将损坏的东西提交到中央 SVN 存储库并在测试机器上检查。这显然很糟糕。
如有必要,我很乐意花一些时间清理 SVN 存储库——我还没有准备好放弃它。