【发布时间】:2011-04-24 00:56:57
【问题描述】:
我正在尝试(永久)将我小组的 Subversion 存储库迁移到 Git,但在尝试清理其非标准目录结构时遇到了问题。
项目的一些内容包含在主干和分支文件夹中,但不是全部。 Subversion 上的项目布局如下:
project/trunk/
project/branches/feature_1
project/branches/feature_2
project/libraries
project/crontab
...
导入后,我希望 Git 存储库的布局如下:
project/html # the content of the old trunk and branches folders
project/libraries
project/crontab
...
使用适当的选项运行svn2git 将正确处理主干和分支目录,但我如何还包括其他文件夹的历史记录? git-filter-branch 似乎可以提供帮助,但我不确定如何使用它。
【问题讨论】:
-
(stackoverflow.com/questions/614229/…) 可能会有所帮助。
-
为什么不做一个'svn move'来获得合适的结构,然后做一个svn2git?你还会有历史吗?
-
@Version Control Buddy:导入后,Git 存储库会将旧的
project/trunk文件夹视为其根目录。导入前将文件夹svn moved 放入trunk 将具有历史记录,但它们的原始位置仍将位于存储库的根目录之外,并且将被忽略。 -
我觉得它不会被遗漏,但我现在没有时间验证我的陈述。但是,请查看stackoverflow.com/questions/1292531 这似乎与您的要求相似。
标签: svn git git-svn git-filter-branch