0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Bazaar to Git with CentOS8 Docker Container

Last updated at Posted at 2020-06-11

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

  1. https://gangannikki.hatenadiary.jp/entry/2020/02/03/200000

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?