リビジョン ハッシュ キーを持っています。.hgtags 以外のものを含む最も近いリビジョンを取得したいと思います。
たとえば、Mercurial の歴史の次の断片を考えてみましょう。
D:\CI\NC\8.0>hg log -l3 -b 8.0 -v
changeset: 1768:633cf1f61665
branch: 8.0
tag: tip
user: ci
date: Wed Nov 16 21:06:20 2011 +0200
files: .hgtags
description:
Replaced tag 'good.NC.16' with 'rejected.NC.16' for changeset 9451e8f187b1
changeset: 1767:6cad328c622c
branch: 8.0
parent: 1765:9451e8f187b1
user: ci
date: Wed Nov 16 21:04:26 2011 +0200
files: .hgtags
description:
Added tag 'good.NC.16' for changeset 9451e8f187b1
changeset: 1765:9451e8f187b1
branch: 8.0
tag: rejected.NC.16
user: gilad
date: Tue Nov 15 18:26:09 2011 +0200
files: .hgignore
description:
update
この場合、指定されたリビジョンがである場合、 .hgtags だけでなく他の何かを含む最も近いリビジョンであるため633cf1f61665
、リビジョンを探しています。9451e8f187b1
与えられた場合、できるだけ少ない hg.exe 呼び出しを使用してどのよう633cf1f61665
に見つけることができますか?9451e8f187b1
編集
出力を修正しました。同じブランチからのリビジョンが表示されているはずです。
EDIT2
私は自分自身を説明しようとします。2 つの概念を定義しましょう。
- 鈍い変更セット -
hg tag
アクションによって作成されたもの。 - 興味深い変更セット - 退屈でない変更セット。
したがって、私の質問は次のように言い換えることができます。
Given an arbitrary revision (dull or interesting) I need to find the closest
interesting revision belonging to the same named branch using as few hg invocations
as possible.
たとえば、指定された633cf1f61665
または6cad328c622c
または9451e8f187b1
必要なリビジョンは9451e8f187b1
です。