我正在尝试将一些旧的Bazaar存储库转换为Git,虽然似乎一切顺利进行,但我有点不确定它是否像它声称的那样顺利。
我的Bazaar存储库的结构如下:
- repo
- trunk
- prod
- feature/feature-branchX
- feature/feature-branchY
我正在使用快速导出/导入方法在和之间进行迁移。
最初,我使用--export-marks迁移“trunk”,如下所示:
bzr fast-export --export-marks=../$1/marks.bzr ../$1/trunk | git fast-import --export-marks=../$1/marks.bzr --export-marks=../$1/marks.git
当$1作为名称时
然后迭代"repo"目录中的所有其他文件夹并调用:
bzr fast-export --marks=../$1/marks.bzr --git-branch=$nick ../$1/$b/.. | git fast-import --import-marks=../$1/marks.git --export-marks=../$1/marks.git
使用bzr
时,$nick
是分支的别名,而$1
/$b
是分支目录的名称。
就像我之前所说,它会处理所有预期的目录,但在完成后,当我执行:
git branch
它只显示20多个分支,而原始的Bazaar存储库有80多个分支。
现在,仅查看git中的“master”,似乎一切都在那里,缺失的60个分支可能很容易就是已经合并到主干的分支。但我不确定fast-export/fast-import工具是否足够聪明,能够说“算了-你不需要这个”,但也许他们是。
有人有这方面的经验吗?
在从bzr迁移到git后,我只剩下“master”和任何具有未合并提交的分支吗?
最后,为了历史记录,是否有办法强制转换所有分支,即使它们在技术上已经停用?