这个问题与这个问题和这个问题类似,但场景稍微复杂一些。
我几年前开始使用私有svn仓库(主要用于各个机器之间共享配置文件等)。我对仓库的布局(分支,目录等)并不是很在意,所以随着时间的推移它发生了很多变化。当然,这是一个错误,但现在为时已晚。最近,我将其迁移到了更标准的svn trunk/branches/tags布局,主要使用svn move命令,但旧的历史记录仍然存在于仓库中(而且实际上有点混乱)。
现在,我想永久地将其转换为git仓库。我尝试使用git-svn,但它似乎只能处理遵循一致的trunk/branch/tag约定的情况(是的,你可以提供替代名称,但每个名称似乎只能提供一个)。例如,我的仓库历史记录中很多内容实际上在仓库的根目录下(即trunk),而tags/和branches/则是子目录。
如何处理所有这些的最佳方法是什么?理想情况下,我希望我最终得到的git仓库至少以某种方式访问所有历史记录,即使分支和标记在git中没有被完全表示为一流概念。
更具体地说,svn-git如何处理它所提供的trunk/branches/tags子目录之外的文件?迄今为止,我的观察是它有时会漏掉它们(绝对不行),而其他时候则将它们添加到新仓库中。
感谢任何想法。
我几年前开始使用私有svn仓库(主要用于各个机器之间共享配置文件等)。我对仓库的布局(分支,目录等)并不是很在意,所以随着时间的推移它发生了很多变化。当然,这是一个错误,但现在为时已晚。最近,我将其迁移到了更标准的svn trunk/branches/tags布局,主要使用svn move命令,但旧的历史记录仍然存在于仓库中(而且实际上有点混乱)。
现在,我想永久地将其转换为git仓库。我尝试使用git-svn,但它似乎只能处理遵循一致的trunk/branch/tag约定的情况(是的,你可以提供替代名称,但每个名称似乎只能提供一个)。例如,我的仓库历史记录中很多内容实际上在仓库的根目录下(即trunk),而tags/和branches/则是子目录。
如何处理所有这些的最佳方法是什么?理想情况下,我希望我最终得到的git仓库至少以某种方式访问所有历史记录,即使分支和标记在git中没有被完全表示为一流概念。
更具体地说,svn-git如何处理它所提供的trunk/branches/tags子目录之外的文件?迄今为止,我的观察是它有时会漏掉它们(绝对不行),而其他时候则将它们添加到新仓库中。
感谢任何想法。
svn
] 标签代替 [subversion
] 标签。http://meta.stackexchange.com/questions/2601/batch-retag-request-merge-svn-and-subversion - Brad Gilbert