BazaarのプロジェクトをGitのプロジェクトに変換したいけど、そのためだけにマシンの環境を弄りたくないよって方向けです。
Docker Desktop for Mac を利用する前提で進めます。
変換用の環境を作成する
Bazaarのプロジェクトディレクトリ(.bzr
が存在するディレクトリ)で実行します。
$ docker run --rm -it -v "${PWD}/:/home/" --workdir=/home/ centos:8 bash
Windowsの場合はCドライブのマウント設定1が必要かもしれません。
コンテナの操作が可能になり次第、必要なソフトウェアをインストールしていきます。
# GCC と rpmbuild のインストール(Bazaarのビルドに必要)
$ dnf install -y gcc rpm-build
# Python2系のインストール(3系だとBazaarのインストールが失敗してしまうので注意)
$ dnf install -y python27 python2-devel
# Bazaarのインストール
$ pip2 install bzr
# 変換ツールのインストール
$ pip2 install fastimport
$ mkdir --parents ~/.bazaar/plugins && cd ~/.bazaar/plugins
$ bzr branch lp:bzr-fastimport fastimport
# Gitのインストール
$ dnf install -y git
変換を行う
# 変換対象のBazaarのプロジェクトディレクトリに移動
$ cd /home/
# 変換先のGitのプロジェクトを作成
$ git init
# 変換処理
$ bzr fast-export --plain . | git fast-import
うまくいけば、bzr log
で表示される内容がGitのデフォルトブランチに反映されます。
以上で変換作業は終了です。おつかれさまでした。
作業環境のバージョン一覧
$ cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
$ rpmbuild --version
RPM version 4.14.2
$ gcc --version
gcc (GCC) 8.3.1 20190507 (Red Hat 8.3.1-4)
$ python2 --version
Python 2.7.16
$ pip2 --version
pip 9.0.3 from /usr/lib/python2.7/site-packages (python 2.7)
$ bzr --version
Bazaar (bzr) 2.7.0
$ git --version
git version 2.18.2
参考
http://doc.bazaar.canonical.com/latest/ja/mini-tutorial/index.html
https://git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git
https://methane.hatenablog.jp/entry/20120627/1340802391