Mercurialの特定のディレクトリにある2つのリビジョン間で変更されたファイルのリストを生成したいと思います。
特に、私はwhat変更には興味がありませんが、which filesはそのディレクトリで変更されました。
たとえば、then
とotherthen
の間で、2つのファイルのみが変更されたと仮定すると:
>hg hypothetical-command -r then:otherthen
foo.baz
bar.baz
>
架空のコマンドは何ですか? diffとlogを試しましたが、どうすればそれらを実行させるかわかりません。patch(diff)を取得するか、repo(log)全体を取得します。
hg status --rev x:y
ここで、x
およびy
は、目的のリビジョン番号(またはタグ名またはブランチ名)です。
Windowsでターミナルを使用している場合は、hg status --rev x:y
> your-file.txt
リストをファイルに保存します。
statusが必要です。
ただし、「2つのリビジョン間」の意味に応じて、「x :: y(DAG-Directed Acyclic Graph)」の範囲を使用することも検討できます。
並行チェンジセットが与えられると、
1--2---4 \---3
hg status --rev 1:4
は、(1,2,3,4)、つまりローカルの数値revに従って、エンドポイント間およびエンドポイントを含むすべてを返します。これは、他の-関連している-リポジトリで異なる結果を返す可能性があります(ほとんどの場合はそうなります)!
hg status --rev 1::4
は(1,2,4)、つまりエンドポイント、および(1)の子孫および祖先 '4'の。
後者の場合、x :: yは通常、実際のアプリケーションでより便利です。これはTortoiseHg\Visual Diffを介して取得するものです。
> hgヘルプリビジョン:
"x :: y" DAG範囲。xおよびy自体を含む、xの子孫でありyの祖先であるすべてのチェンジセットを意味します。最初のエンドポイントが省略されている場合、これは「ancestors(y)」と同等です。2番目のエンドポイントが省略されている場合、「descendants(x)」と同等です。