Mercurial には、ユーザーがリビジョンのセットを指定できるrevsetsと呼ばれるドメイン固有の言語があります。
たとえば、まだブランチにマージされていないパッチをリストしたい場合がありますdefault
:
hg log -r "all() - ancestors('default')"
より複雑な例として、上記のリンクは、タグ付けされ1.3
たリビジョンとタグ付けされたリビジョンの間の変更セットをリストする例を示して1.5
います。これは、「バグ」に言及し、ディレクトリ内のファイルに影響を与えますhgext
:
hg log -r "1.3::1.5 and keyword(bug) and file('hgext/*')"
revset 言語は非常に豊富で、日付、ユーザー名、コミット メッセージ、コミットが特定のリモート ロケーションに存在するかどうかなどに基づいて変更セットを選択できます。
git には、変更セットをクエリするための同等のメカニズムがあり、コア プログラムまたは拡張機能として利用できますか?