Bagaimana cara melihat riwayat revisi untuk file Mercurial?

106

Untuk file tertentu dalam repositori Mercurial, bagaimana Anda bisa melihat riwayat revisi?

Dan bagaimana Anda bisa membedakan dua revisi file?

Idealnya melakukan semua ini dengan alat visual (kami menggunakan ExamDiff untuk melakukan beberapa perbedaan lainnya).

Saya akan mengatakan ini adalah fungsi kontrol sumber dasar tetapi saya sepertinya tidak tahu bagaimana melakukan ini dengan Mercurial.

Marcus Leon
sumber

Jawaban:

129
hg log file

hg diff -r 10 -r 20 file
zerkms
sumber
1
Sempurna .. Bekerja dengan ExamDiff juga:hg examdiff -r 10 -r 20 file
Marcus Leon
2
juga berguna untuk mencari kata kunci alih-alih nama file yang tepat, hg log -k kata kunci
Despertar
Ini memberi saya output / respons nol; tidak ada yang terjadi.
temporary_user_name
27

The ekstensi HGK memberikan hg view fileperintah yang menunjukkan sejarah visual, dari mana Anda dapat diff / vdiff sewenang-wenang sepasang revisi.

TortoiseHg memberi Anda thg log fileperintah yang melakukan hal yang sama tetapi terlihat lebih baik.

Geoffrey Zheng
sumber
sangat bagus! tetapi 'hgtk' sekarang hanya pembungkus, silakan gunakan 'thg' di linux
milkplus
1
hgk berfungsi untuk seluruh revisi, tetapi bagaimana Anda membuatnya berbeda dengan file individual ?
keflavich
9

Untuk keterbacaan

hg diff -r revision1:revision2 file

Di mana revisi1 dan revisi2 dapat berupa tag, set perubahan, dll.

Carlo Chum
sumber
5

Jika Anda menggunakan TortoiseHg: Pengguna Windows bisa menggunakan Windows Explorer dan melihat riwayat revisi dengan mengklik kanan pada file.

Untuk pengguna Linux, Anda dapat melakukannya dalam TortoiseHg tetapi saya butuh beberapa saat untuk memikirkan caranya. Anda perlu klik kanan pada file yang diinginkan dan pilih "File History". Namun, untuk beberapa alasan misterius, file tersebut perlu tidak diubah. Selanjutnya untuk mencari file yang diinginkan ada dua pilihan:

Dalam ### revision set query###satu jenis kaleng:

file("**<myfile>")

Ganda ** diperlukan untuk mencari direktori secara rekursif. Ini memberi Anda segera daftar semua repositori di mana file yang diinginkan diubah.

Alternatifnya, di sebelah ### filter text ###klik dulu pada tanda tanya dan pilih "bersihkan" untuk melihat semua file di repositori. Kemudian di dalam ### filter text ###kotak Anda dapat mempersempit jumlah file yang ditampilkan.

Sebagai alternatif, pengguna Linux dapat melakukannya dari terminal seperti yang disarankan oleh Geoffrey Zheng di atas:

thg log file
Jasper Uijlings
sumber
Mungkin ini telah berubah sejak 2010, tetapi saya dapat mengklik file yang dimodifikasi di THG dan melihat riwayat revisinya.
UuDdLrLrSs