Home > Tags > windows

windows

Windows で Bazaar の bzr+ssh を使える環境を作る

Bazaar

Bazaar

Windows で Bazaar を使うときのメモです。リポジトリは ssh 経由でアクセスできる状態であることを想定しています。

僕がセットアップした環境は以下の通りです。

  • Windows2000
  • Bazaar 1.15final

まず Windows に Bazaar をインストールするため http://bazaar-vcs.org/Download から windows 用の bzr バイナリをダウンロードします。ダウンロードした exe ファイルをダブルクリックで起動すればインストールウィザードが起動するので、ウィザードの指示に従ってインストールを完了させます。このインストールバイナリには TortoiseBzr も収録されているため、別途 TortoiseBzr をインストールする必要はありません。インストールが完了すると、既にエクスプローラの右クリック項目に Bazaar リポジトリ操作用の項目が追加されているはずです。

さて、Bazaar のインストールは完了したので Bazaar の基本的な操作は使用できる状態になりました。

しかし Windows の場合、リポジトリの中にシンボリックリンクが使われていると、Bazaar をインストールしただけではリポジトリの clone に失敗してしまいます(clone 自体は成功するようですが、ローカルディレクトリにディレクトリツリーを展開するところで例外が発生している模様、Windows にはシンボリックリンクなんてものはないから)。そこで、Windows 環境でもシンボリックリンクを扱えるようにするプラグインをインストールします(但し、以下でインストールするプラグインは例外を発生しないようにするためのプラグインであって、Windows でシンボリックリンクが利用できるようにするといったものではないので注意)。

http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#how-to-install-a-plugin を参考に https://launchpad.net/bzr-win32symlinks をインストールことにします。

プラグインの配置場所は上記のページに書いてあるのですが、ここに引用します。

http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#how-to-install-a-plugin
On a Windows installation, the system location might be C:\\Program Files\\Bazaar\\plugins while the personal location might be C:\Documents and Settings\<username>\Application Data\Bazaar\2.0\plugins.

C:\Documents and Settings\<username>\Application Data\Bazaar\2.0\ に plugins というディレクトリが存在しなければディレクトリを作っておきます。次にこの plugins ディレクトリ下にインストールするプラグインを配置します。既に Bazaar を使用できる環境になっているはずなのでコマンドプロンプトで plugins ディレクトリに cd し、以下のコマンドをタイプします。もしくはエクスプローラ上からリポジトリをクローンしても構いません。

> bzr branch lp:bzr-win32symlinks
> move bzr-win32symlinks win32symlinks

ここでは、プラグインプロジェクトのリポジトリのクローンを作成してディレクトリ名を変更しています。ディレクトリ名の変更を行なわないと、プラグインは動作しないので注意して下さい。

これでシンボリックリンクを使用しているリポジトリがあっても、途中で例外を発生することなく branch(clone), checkout することができるようになります。

続いて SSH プロトコルを使用して Bazaar リポジトリにアクセスする環境をセットアップすることにします。

ここではサーバ側には既に ssh の公開鍵暗号方式で Bazaar リポジトリにアクセスできる環境が整っていることを前提とします。以下の作業では Bazaar クライアントのセットアップのみ行います。

実は、現時点で Windows の Bazaar GUIフロントエンドの TortoiseBzr(0.2rc1) はリポジトリを push することができないようです。そこで、最低限コマンドプロンプト上から push できる環境を確保するために Cygwin 上の OpenSSH と PuTTY 付属の Pageant の二つの環境をセットアップすることにします。

まずは Cygwin + OpenSSH の環境を整えます。セットアップ自体は以下の URL を参考にします。
http://openbooth.org/archives/118.html

上記 URL の説明で SSH 接続環境はセットアップされたはずなので、接続確認をしておきます(下記のサーバとプロジェクトは架空のものです)。

> bzr branch bzr+ssh://bzr@remote-x.org/home/bzr/project-a

無事にローカルにブランチが作成されれば確認終了です。

Cygwin + OpenSSH の次は TortoiseBzr で bzr+ssh プロトコルを扱えるようにします。
TortoiseBzr で SSH プロトコルを扱うためには、PuTTY に付属の PuTTYgen と Pageant を使って Pageant に公開鍵/秘密鍵のうち、秘密鍵を登録しておかなければなりません。下記 URL に従って PuTTY のセットアップを行ないます。
http://openbooth.org/archives/128.html

上記 URL の通り作業すれば Pageant に秘密鍵を登録することができたはずです。それでは接続確認をします。

適当なディレクトリで右クリックから TortoiseBzr のチェックアウト項目を選択します。
ブランチ元 URL を bzr+ssh からはじまる URL を入力して [作業ツリーオプション] の [このブランチのローカルコピーを作成] を選択します。

TortoiseBzr でリモートブランチをクローン

TortoiseBzr でリモートブランチをクローン

上のダイアログで [OK] をクリックして暫くすると以下のように Pageant から「認証のために鍵を使って良いか?」と尋ねられるので [Yes] をクリックします。

Pageant の認証ダイアログ

Pageant の認証ダイアログ

無事にリポジトリのクローンを作成できれば動作確認は終了です。

Windows での Bazaar 環境のセットアップはまだちょっと面倒臭いですね。

Home > Tags > windows

Search
Feeds
Meta

Return to page top