在 linux 上将 bazaar repo 转换为 git

Converting bazaar repo to git on linux

如何将 bazaar 存储库转换为 git?我有旧的 zip 存档,里面有 .bzr 目录。

我尝试遵循 this tutorial 但是当我尝试安装时:

sudo apt-get install bzr-fastimport

出现错误,没有 bzr-fastimport 包,但有 python-fastimport 我已经安装了它,但是

bzr fast-export --plain `pwd`

显示错误:

bzr: ERROR: unknown command "fast-export"

我也尝试按照解决方案来回答这个问题:The right way to convert from bazaar to git and sync them

我在 github 上创建了新的存储库,但是当我调用时:

bzr dpush https://github.com/jcubic/aikiframework.git,branch=master

我有错误:

bzr: ERROR: Not a branch: "https://github.com/jcubic/aikiframework.git,branch=trunk/".

版本 16.04 中没有 bzr-fastimport 包 我从 Yakkety Yak 下载文件 bzr-fastimport_0.13.0.orig.tar.gz 解压并复制到 ~/.bazaar/plugins/fastimport 目录然后我可以打电话:

bzr fast-export --plain `pwd` | git fast-import
git remote add origin https://github.com/jcubic/aikiframework.git
git push origin master

获取 Bazaar 的 fastimport 插件的替代方法(而不是按照 ) is to get it directly from its upstream source on Launchpad (thanks to this blog post by Robin Winslow 中的建议下载 Yakkety Yak 包):

cd ~/.bazaar/plugins
bzr branch lp:bzr-fastimport fastimport

然后您可以返回包含您的 bzr 存储库的目录并进行转换:

git init 
bzr fast-export --plain . | git fast-import 

作为更新。从 18.04 (bionic) 开始,bzr-fastimport 又是 part of Ubuntu,似乎从 19.10 (eoan) 开始,它甚至被集成到 bzr 包中。

当前的转换方法是安装 bzr 和 bzr-fastimport。

sudo apt install bzr
sudo apt install bzr-fastimport

然后在 Bazaar 存储库目录中创建一个新的 Git 存储库,执行 fast-export/import,在 Git 上检查主(应该说 "already on master")然后创建新的“.git”目录,必要时可以删除“.bzr”目录。

cd repo-dir
git init
bzr fast-export | git fast-import
git checkout -f master
rm -rf .bzr