Gunakan magit untuk membandingkan semua perubahan dalam dua revisi

8

Apakah ada cara untuk memohon Ediff dari Magit untuk membandingkan perubahan ke semua file antara dua revisi, bukan hanya perubahan dalam satu file?

Kasus penggunaan saya adalah rekan kerja akan meminta saya untuk meninjau perubahan yang dia buat di cabang, yang mungkin melebihi beberapa komitmen. Saya dapat dengan mudah mengetahui bahwa kodenya bercabang dari cabang utama di revisi M, tetapi saya tidak yakin bagaimana mendapatkan magit untuk membandingkan semuanya untuk saya.

Tampaknya saya bisa melakukan M-x magit-logdan kemudian E r <M> <branch name>, tetapi kemudian meminta saya untuk membandingkan file. Dalam hal ini, ada sekitar 20 file yang diubah, sehingga akan mengganggu terkait E rurutan untuk masing-masing. Selain itu, saya harus mengingat file mana yang sudah saya lihat.

Idealnya, saya ingin salah satu dari ini:

  • buffer yang mencantumkan setiap file dan memungkinkan saya mengkliknya untuk memulai ediff, dan menunjukkan ketika saya sudah mulai ediff (atau memungkinkan saya menghapus file dari yang terakhir)
  • memulai sesi ediff untuk setiap file yang diubah, dengan buffer yang mencantumkan sesi dan membiarkan saya pergi ke mereka.

Saya memikirkan sesuatu seperti apa ediff-directories.

Apakah kemampuan itu ada?

Ini berbeda dari Bagaimana saya bisa membandingkan dua commit di magit? : yang ingin melihat perubahan dalam dua revisi tersebut. Saya ingin melihat perbedaan dalam semua file yang berbeda antara dua revisi tersebut, terlepas dari apakah perubahan terjadi pada revisi atau leluhur yang tidak umum.

Troy Daniels
sumber

Jawaban:

7

Magit dapat menunjukkan perbedaan antara dua commit sebagai diff . Ada banyak cara untuk melakukan itu termasuk:

  • d r START..END RET. Anda bisa masuk STARTdengan selesai dan setelah Anda mengetik ..Anda juga bisa masuk ENDdengan selesai.
  • Dalam log gunakan wilayah untuk menandai komit antara STARTdan ENDdan ketikd d

Hal yang sama didukung ketika menggunakan Ediff untuk beberapa perluasan, tetapi seperti yang Anda perhatikan Anda juga harus memilih file yang ingin Anda bandingkan. Sementara Ediff menyediakan antarmuka dukungan "sesi", Magit belum mengimplementasikannya.

Tetapi ada masalah terbuka tentang ini. Itu tidak memiliki prioritas tinggi sekalipun. Saya tidak menggunakan Ediff sendiri dan menerapkan ini membutuhkan lebih banyak pengetahuan tentang Ediff daripada tentang Magit. Bantuan apa pun dengan tugas ini akan dihargai.

tarsius
sumber