LoginSignup
0
2

More than 3 years have passed since last update.

Bazaarの初期設定

Last updated at Posted at 2020-07-29

Bazaarとは

分散バージョン管理システムです。
ブランチやマージが簡単にできるように設計されています。
詳細な説明や歴史的な背景は下記サイトが詳しいです。

公式HP
https://bazaar.canonical.com/en/

Wikipedia
https://ja.wikipedia.org/wiki/Bazaar

「Gitがデファクトスタンダードになりつつある一方、Bazaarは月に2,3のコミットがあるだけでほぼ死んだ状態にある」(Wikiより抜粋)

なおRHEL8からはbzrパッケージは配布されなくなったようです(死亡確認・・・)

特別な理由がなければ、素直にGitを使うのがいいと思いますが、
本記事では何らかの理由からbzrを使わなければならなくなった人のために
とりあえず使い始めるまでの初期設定を記載します。

設定方法

Linuxの場合、yum(dnf等)で取得できるならそれでOK。

$ sudo yum install bzr

初期設定としてbzrにユーザー情報を登録します。

$ bzr whoami "USER_NAME <MAIL_ADDRESS>"

QBzrプラグインの追加

QBzrプラグインを追加すると、qdiffやqlogなどのグラフィカルな機能が使えるようになり、便利です。
こちらもyumで入れておきましょう。

$ sudo yum install qbzr

まずはじめに、レポジトリの登録

まず最初に管理したいプロジェクト(ソースコード)をレポジトリに登録する必要があります。
やり方は簡単で、管理したいプロジェクトのディレクトリにてbzr initコマンドを実行します。
そのため、新期プロジェクトごと実行する必要があります。

サンプルとして/tmp/projectを作ります。

$ mkdir /tmp/project
$ cd /tmp/project
$ bzr init 

これにより.bzrディレクトリが作成され、「project」以下のツリーが
bzrで管理できるようになります。

ファイルを追加

bzr addコマンドで変更を記録したいファイルを追加します。
ここではREADMEファイルを追加してみます。

$ touch README (project配下にモジュールを配置)
$ bzr status  (ステータス表示)
unknown
  README

$ bzr add README(READMEを追加する)
$ bzr status    (ステータス表示)
added:
  README

ファイルを変更する、変更を確認する

bzr diff や bzr qdiff コマンドで変更内容を確認します。

$ emacs README    (例として「HELLO!WORLD!」と書いてみた)

$ bzr status    (ステータス表示)
modified:
   README

$ bzr diff    (diffを表示)
=== modified file 'README'
--- README   1970-01-01 00:00:00 +0000
+++ README   2019-12-27 14:23:29 +0000
@@ -0,0 +1,1 @@
+HELLO!WORLD!

リモートのレポジトリサーバーにコミットする

ローカルPCからリモートのレポジトリサーバーにコミットしてみます。

$ bzr commit   (ローカルにコミット)
$ bzr push bzr+ssh://<USER>@<SERVER:PORT>/home/bzr/project
               (リモートのレポジトリサーバーにコミット)

上記のように毎回2段コミットするのは面倒なので、bind設定すると便利です。
以降、bzr commitはリモートへのコミットになります。

$ bzr bind bzr+ssh://<USER>@<SERVER:PORT>/home/bzr/project
$ bzr commit   (リモートにコミット)
               (ローカルにコミットしたい場合は--local)

bzr は SSH, HTTP, SFTP 等を使用してブランチにアクセスすることができます。
上記の例は、bzr+sshの場合を記載しています。

以上です。

より詳細な使い方はチュートリアルをご参照ください。
http://doc.bazaar.canonical.com/latest/ja/index.html

余談

以下のブログで、Bazzarの開発者の失敗談がご紹介されていました。
エンジニア目線で見ると、なかなか趣深い内容です。

Bazaar-NG: 分散バージョン管理システムを7年ハックしてきて
https://cpplover.blogspot.com/2014/01/bazaar-ng-7.html?m=1

0
2
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
2