QandA


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

よくある質問(FAQ)、ありそうな質問などをまとめています。


Bazaar の FAQ


Q. 日本語のファイル名等の問題はありませんか?

Bazaar 本体に関しては全く問題ありません。ファイル名やフォルダ名などを、UTF-8 文字列として扱うので「計算表」などの問題になりそうなファイル名も何も気にすることなく扱えます。

TortoiseBzr や qbzr などの外部ツールに関しても、日本語を含むフォルダ名やファイル名に対応できていなかった部分が修正されてきています。何か問題を見つけたら、Launchpadか2chで報告すると解決されるかもしれません。

また以下のように diff ( qdiff ) にも問題がありますが設定を行うことで回避できます。

Bazaarでバージョン管理【bzr>git,svn,cvs】
http://pc11.2ch.net/test/read.cgi/tech/1218083381/80

80 名前:デフォルトの名無しさん[sage] 投稿日:2008/11/19(水) 15:31:38
バージョン管理システムについて語るスレ2でdiffについての質問と回答が
書き込まれたのでまとめておきます。

コマンドラインでbzr diffを使うと文字化けすることがありますが
これはテキストとコマンドラインのエンコーディングが異なるからです。

変更前後でテキストのエンコーディングが同じであればパイプで
エンコーディング変換ツールや外部の差分ツールに引き渡して表示できます。

例
>bzr diff -r1..2 | iconv -f テキストのエンコーディング -t CP932
>bzr diff -r1..2 | gvim - -R

オプションを指定することで外部の差分ツールを利用することもできます。
例えばWinMergeを使いたいのであればbzr diff --using=MinMergeです。
bazaar.confを編集してエイリアスを設定することでオプションの入力を省略できます。
この設定ファイルはbzr versionで見つかります。

[ALIASES]
diff=diff --using=WinMerge

他にextdiffといったプラグインでも外部ツールを利用できます。

TortoiseBzrではデフォルトのdiffツールとしてqdiff(コマンドラインからも実行可能)が
使われていますが、.bzr/branch/branch.confで例えば「encoding = shift_jis」のように
テキストのエンコーディングを指定すればUTF-8以外のテキストも正常に表示されます。
もしくはコマンドプロンプトから「bzr qdiff --encoding=shift_jis」を実行しても
指定したエンコーディングがbranch.confに記載されます。

ただし、テキストを何も選択していない状態で示されるDiffメニューは
設定ファイルの内容が反映されないようです。

99 名前:デフォルトの名無しさん[sage] 投稿日:2008/11/20(木) 15:12:09
>>80 追記。エイリアスの登録と解除のコマンドもありました。

bzr alias diff="diff --using=WinMerge"
bzr alias --remove diff

Python製のツールなのにTMTOWTDIというのが面白いですね。

今回は使わなかったですが、--diff-optionsで
外部ツールにオプションを渡すこともできます。

Q. Windows Vista でも使えるの?

bzr本体には問題ありません。TortoiseBZRに関しては、1.17時点でスタートメニューの項目が動作しなくなることがあるという問題がありますが、次期バージョンで解決される見込みです。

使い方の質問


Q. ブランチを作ったけどやり直したいんですが、どうすればよいの?

ブランチのフォルダの .bzr フォルダを削除して、ブランチを作り直してください。
Bazaar は、他にファイルなどは一切作りませんので。

Q. 不要なファイルをaddしてしまった。ファイルそのものは残したまま、登録だけ取り消すにはどうすれば?

bzr rm --keep

Q. merge や update は、push/pull と何が違うの?

merge -> ブランチを能動的にマージするとき
update -> checkoutしたものを更新するとき(svn upとほぼ同じ)

Q. WindowsでSFTPプロトコルを使ってpushしたい場合、秘密鍵ファイルってどこに置けばいいの?

C:\Documents and Settings\<username>\.ssh\ の下に id_dsa を置くのが簡単
(<username> はログイン中のユーザー名)

また、以下は 本スレ より転載

167 :デフォルトの名無しさん:2009/01/13(火) 02:53:16 
Launchpadをいじってみているんだが(といってもテスト環境のstaging)、 
 Permission denied (publickey). 
と言われてプロジェクト作成した後のpushが上手くいかない。 
コマンドは以下、 
bzr push lp://staging/~(ユーザー名)/+junk/test --use-existing-dir 

pageant起動してても呼んでくれないみたいだし、秘密鍵の指定はどうやったらいいんでしょ。 
pushはTortoiseBzrではできないみたいなのでコマンドラインでやってます。 

OS: Windows Vista SP1 

168 :167:2009/01/13(火) 03:47:12 
puttyのディレクトリにはパスを通しています。 
プロンプトで、echo %PATH% で確認しました 

169 :デフォルトの名無しさん:2009/01/13(火) 13:48:20 
>>167 次の手順を行います。 
1. 環境変数BZR_SSHをplinkのパスを設定します。 
  環境変数PATHを通しているのであればplinkだけでOKです。 
2. 公開鍵は https://launchpad.net/~ユーザー名/+editsshkeys に貼り付けます。 
3. puttyで「bazaar.launchpad.net」にアクセスしてホスト情報をローカルにキャッシュします。

Q. ブランチのマージが出来ないんだけれど。

ブランチのマージは、マージするそれぞれのブランチが元々は一つのブランチから枝分かれしていないと、マージはできません。
この場合以下のエラーメッセージが表示されます。

bzr: ERROR: Branches have no common ancestor, and no merge base revision was specified.

こういう場合は仕方ないので、手作業でどちらかのブランチに統合する作業を行ってください。

Q. EDITOR 環境変数にエディタのパスを指定しても、commitのときにコミットログがうまく保存できない

エディタの問題かもしれない。別のものに変えるとうまくいくかも(notepad++とかオススメ)。

もしくは commit の代わりに qcommit を使えば、エディタを経由せずにログを書くこともできる。

Q. 共有レポジトリ(shared repository)の利点ってなに?

ブランチを作ったとき、履歴を必要な分だけしかコピーせず、重複した分を共有する。そのため、 そのディレクトリの下でブランチを作りまくっても、容量が必要以上に増えない。

プロジェクト内で多くのブランチを作りたいならほぼ必須。また、マニュアルによれば「プロジェクトを始めるとき、最初に共有レポジトリを作り、その中で作業を進めるのは良い習慣」。

ちなみに共有レポジトリがちゃんと使われているかどうかは、ブランチ内の bzr info で確認可。

% bzr info
Repository tree (format: pack-0.92)
Locaton:
  shared repository: C:/work/project1

プラグインなどの質問


Q. コミットログを RSS フィードで出力できませんか?

RSS フィードを出力するプラグインは数種類ありますが、commit, push, pull 時に RSS を自動更新する BranchFeed が便利です。

BranchFeed の説明は、Bazaarプラグイン にあります。
それ以外は FeedGenerators で調べてください。

Q. Bazaar のブランチをブラウザで見ることはできませんか?

数種類ありますが LoggerHead が一番良さそうです。これを使用することでブラウザからブランチを見ることができます。
launchpad でも使っているシステムです。 デモ画面
他のシステムは WebInterface をご覧ください。

参考
|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|