我正在尝试将一些旧的集市存储库转换为 git,虽然一切似乎都顺利进行,但我有点不确定它是否真的像它声称的那样顺利。
我的集市存储库的结构如下:
- 回购
- 树干
- 产品
- 功能/功能分支X
- 特征/特征分支Y
我正在使用快速导出/快速导入方法在 bzr 和 git 之间进行迁移。
最初,我使用 --export-marks 迁移“主干”,如下所示:
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
$nick 是 bzr 的分支昵称,$1/$b 是分支的目录名。
正如我所说,它处理所有预期的目录,但完成后,当我做
git branch
它只显示了 20 个分支,而原来的 bazaar 存储库有 80 多个。
现在,只看git中的“master”,它似乎都在那里,丢失的60个分支很容易是已经合并到主干的分支。但是我不确定快速导出/快速导入工具是否足够聪明,可以说“哇——你不需要这个”,但也许它们是。
有人对这个有经验么?
从 bzr 迁移到 git 后,我是否只应该留下“master”和任何未合并提交的分支?
最后,为了历史的缘故,有没有什么办法可以强制所有的分支都被转换过来,即使它们在技术上已经失效了?