リビジョンを指定する

Bazaar

リビジョンを指定する

リビジョンの識別子と範囲

Bazaarは1つのリビジョンもしくはリビジョンの範囲を指定するための豊富な表現方法を持ちます。 リビジョンの範囲を指定するには、上限と下限を .. のシンボルで区切ります。例です:

$ bzr log -r 1..4

境界値の片方を省略できます:

$ bzr log -r 1..
$ bzr log -r ..4

コマンドの中には範囲ではなく1つのリビジョンだけをとるものがあります。例です:

$ bzr cat -r 42 foo.c

他の場合、範囲は必要ですが、範囲の長さを1つにします。 これに関連したコマンドについて、 -c オプションは次のように使われます:

$ bzr diff -c 42

利用可能なリビジョンの識別子

リビジョン、もしくは範囲の境界、は 下記に示される異なるフォーマットを利用して渡すことができます。

引数の型 説明
number リビジョン番号
revno:number 正のリビジョン番号
last:number 負のリビジョン番号
revid:guid グローバルでユニークなリビジョンID
before:rev ‘’rev’‘の左端の親
date:value 渡された日付の後の最初のエントリ
tag:value 渡されたタグにマッチするリビジョン
ancestor:path ブランチからのマージされた最新のリビジョン
branch:path 別のブランチの最新リビジョン
submit:path 投稿ブランチの共通の祖先

これらのフォーマットの手短な紹介は下記のとおりです。 完全な詳細内容に関しては、 Bazaarユーザーリファレンスの リビジョンの識別子 を参照してください。

番号

正の数は現在のブランチにおけるリビジョン番号を表します。 リビジョン番号は bzr log の出力の中で “revno”とラベルされます。 最初の10のリビジョンのログを表示するには:

$ bzr log -r ..10

負の数は最新リビジョンから数えます。-1は最後にコミットされたリビジョンです。

最新の10のリビジョンのログを表示するには:

$ bzr log -r -10..

revid

revidbzr log と他のコマンドによって示される内部のリビジョンIDの指定を可能にします。

例です:

$ bzr log -r revid:[email protected]

before

before
‘’rev’‘は’‘rev’’ の左端の親を指定します。 これはリビジョンの履歴で ‘’rev’’ の前に現れるリビジョン、 もしくは ‘’rev’’ がコミットされたときに最新であったリビジョンです。

‘’rev’’ はリビジョンの識別子であり連結できます。

例です:

$ bzr log -r before:before:4
...
revno: 2
...

date

date
‘’value’’ は真夜中もしくは指定された時刻での与えられた日付の、 深夜12時か指定された時刻の後の最初の履歴エントリにマッチします。

正式な値は次のとおりです:

  • yesterday
  • today
  • tomorrow
  • YYYY-MM-DD 書式の日付
  • YYYY-MM-DD,HH:MM:SS 書式の日付/時間、2番目はオプションです (コンマに注意)

“今日のログエントリすべてをください”ということを伝える適切な方法は次のとおりです:

$ bzr log -r date:yesterday..date:today

Ancestor

ancestor:path
現在のブランチと異なるブランチ間の共通の祖先を指定します。 これはマージの目的に使われる同じ祖先です。

path はリモートブランチのURLもしくはローカルブランチへのファイルパスになります。

たとえば、 ../parent からフォークされた以降のブランチで行われた変更を見るには:

$ bzr diff -r ancestor:../parent

Branch

branch
path は別のブランチの最新リビジョンを指定します。

path はリモートブランチのURLもしくはローカルブランチへのファイルパスです。

たとえば、手元のブランチと別のブランチの間の違いを取得するには:

$ bzr diff -r branch:http://example.com/bzr/foo.dev