Saya ingin membuat daftar file mana yang diubah antara dua revisi dalam direktori tertentu di Mercurial.
Secara khusus, saya tidak tertarik dengan apa yang berubah, tetapi file mana yang berubah dalam direktori itu.
Misalnya, misalkan antara then
dan otherthen
, hanya 2 file yang diubah:
>hg hypothetical-command -r then:otherthen
foo.baz
bar.baz
>
Apa perintah hipotetisnya? Saya telah mencoba diff dan log, tetapi saya tidak dapat melihat bagaimana meyakinkan mereka untuk melakukannya: entah saya mendapatkan patch (diff), atau saya mendapatkan seluruh repo (log).
version-control
mercurial
Paul Nathan
sumber
sumber
hg status --rev x:y .
hg status --rev .^
-n
, yaituhg status --rev x:y -n
hg status --change .
mencantumkan file yang diubah dalam.
- daftar yang samahg status --rev .^
tetapi lebih langsungstatus adalah apa yang Anda butuhkan.
Namun, bergantung pada apa yang Anda maksud dengan "di antara dua revisi", Anda juga dapat mempertimbangkan untuk menggunakan rentang " x :: y " (DAG - Directed Acyclic Graph).
Diberikan perubahan paralel,
1--2---4 \---3
hg status --rev 1:4
akan mengembalikan (1,2,3,4), yaitu apa saja di antara dan termasuk titik akhir, menurut rev numerik lokal . Ini mungkin (dan kemungkinan besar akan) mengembalikan hasil yang berbeda di repositori lain - meskipun terkait!hg status --rev 1::4
akan mengembalikan (1,2,4), yaitu titik akhir, dan semua perubahan yang merupakan turunan dari '1' DAN nenek moyang dari '4'.Kasus terakhir, x :: y, biasanya lebih berguna dalam aplikasi dunia nyata. Inilah yang Anda dapatkan melalui TortoiseHg \ Visual Diff.
> hg help revsets:
sumber
hg status --rev x::y
".