変更をレビューする
==================

リープする前にロックする
-------------------------

作業が完了したら、恒久的に記録することに先駆けて変更をレビューするのはよい考えです。
この方法で、何を意図しているのかをコミットすることを確認できます。

2つのbzrコマンド: **status** と **diff** はとりわけ便利です。

bzr status
----------

 **status** コマンドは最後のリビジョン以降に作業ディレクトリに行われた変更内容を伝えます::

    % bzr status
    modified:
       foo

``bzr status`` は 変更されないもしくは無視される "つまらない" ファイルを隠します。
statusコマンドはチェックするためにオプションとしてファイルもしくはディレクトリの名前を渡すことができます。

bzr diff
--------

The **diff** コマンドはすべてのファイルへの変更の全文を標準のunified diffとして表示します。
これは ''patch''、 ''diffstat''、 ''filterdiff'' と ''colordiff''といった多くのプログラムを通してパイプで引き渡すことができます::

    % bzr diff
    === added file 'hello.txt'
    --- hello.txt   1970-01-01 00:00:00 +0000
    +++ hello.txt   2005-10-18 14:23:29 +0000
    @@ -0,0 +1,1 @@
    +hello world


``-r`` オプションによって、ツリーは前のリビジョン、もしくは示された2つのリビジョンの違いを表示します::

    % bzr diff -r 1000..          # r1000 からの全ての変更
    % bzr diff -r 1000..1100      # 1000 から 1100 までの変更

1つのリビジョンの変更だけを見たい場合は、 ``-c`` オプションを利用します。

::

    % bzr diff -c 1000            # r1000 による変更
                                  # -r999..1000 と同じ意味

``--diff-options`` オプションによってbzrは外部のdiffプログラムにオプションを渡して実行します。例です::

    % bzr diff --diff-options --side-by-side foo

プロジェクトの中には新旧のファイルのためのパスの始めで接頭辞を表示するためにパッチを好むところもあります。
``--prefix`` オプションはそのような接頭辞を提供するために使われます。
ショートカットとして、 ``bzr diff -p1`` は ``patch -p1`` コマンドで機能する形式を生み出します。

