2012年2月1日水曜日

Bazaarで分散バージョン管理(作業編その1)


Bazaarで分散バージョン管理(チェックアウト編)からの続き

いよいよ実作業に入っていきます。
作業ツリーは前回チェックアウトしたものを使用していきます。


●変更&追加&差分表示



まずは main.c にちょっと処理を追加し、Makefile も作成しました。
Makefile は初コミットした時と同じ手順で 追加 を行います。

この状態で main.c には !アイコン、Makefileには +アイコンが表示されます。
右クリックメニューから 差分 を選択しましょう。


すると差分ビューが表示されます。
追加された Makefile の全文と、main.c の変更点の周辺のみが表示されています。
また、Makefile 内の日本語文字列が文字化けを起こしています。


そこで、下のエンコード設定を変更して日本語を表示できるようにしましょう。
この場合、日本語は Shift-JIS で書いているので、 shift-jis を選択します。
コメントが正しく表示されました。

※ プロジェクト全体で文字コードは統一しておきましょう


また、ファイルの内容をすべて表示したいときは「すべて」をチェックしましょう。
ファイルの内容がしょぼいので見た目が大して変わりませんが(笑)




さて、この内容で問題なければコミットしましょう。
「バージョン管理下にないファイルを表示」を ON にしておくと、ファイルの追加漏れに気づきやすくなるのでお勧めです。
main.o はオブジェクトファイルなのでコミットする必要はないです。


コミットを実行すると、以下のようにアイコンが変わります。






●ファイル無視設定



先ほどにあったオブジェクトファイル等、バージョン管理の対象にする必要がない/したくないファイルが出てきます。
それらを無視する設定ファイルを作成します。
 .bzr フォルダと同じ階層に .bzrignore というファイルを作成します。
先頭がドットで始まるファイルはエクスプローラで作成できない場合があるので、
コマンドプロンプトで "echo. > .bzrignore " とでも実行しましょう。

.bzrignore ファイルの中身はこのような感じです。

# bzrの無視設定ファイル

*.o


これをリポジトリに 追加 していきます。


この時点ですでに main.o は「変更点」に表示されていませんね。



●ファイル無視設定いろいろ


もう少し無視設定を追加してみます。
# bzrの無視設定ファイル

*.[oO]

*.moved
*.THIS
*.OTHER
*.BASE
*~
~*
*コピー*
*.[bB][aA][kK]
*.[bB][aA][cC][kK]
*.[oO][lL][dD]

**/bin
**/obj


まずは書式から、 * はワイルドカード、[ ] は囲んだ文字のどれかに一致するという意味です。
Bazaar は大文字と小文字を厳密に区別するので、私は大文字小文字を [ ] で囲むことをよくやります。
また、 ** はフォルダのワイルドカード(こういう説明でいいだろうか?)です。


*.moved、*.THIS、*.OTHER、*.BASE はそれぞれ Bazaar の衝突によって発生する可能性があります。衝突を解決すれば不要になるファイルなのでコミットすることはありません。

また、チルダや bak、old、コピー などの文字がついたファイルは基本的に一時的なファイルであるはずなので、コミットの対象になることはまずありえないでしょう。

binフォルダや objフォルダは、VisualStudio等を使用すると自動生成されますが、中身はバイナリファイルなので、コミットすることはありません。フォルダごと無視しましょう。


また RE: と行頭につけることで正規表現も使用出来ます。

※ 無視設定で日本語を使用するときは、 .bzrignoreファイルを UTF-8で保存しましょう。


●履歴確認



これまでの変更を確認してみましょう。

右クリックメニューから 履歴 を選択します。


すると、以下のような画面で確認できます。
チームのメンバーが増えたり、マージの回数が増えるとこの画面も賑やかになっていきます。




作業編その2へ続く。。。

0 件のコメント:

コメントを投稿