Saat ini saya sedang mengerjakan alat pembuat kode sumber. Untuk memastikan bahwa perubahan saya tidak memperkenalkan bug baru, diff
antara hasil dari program sebelum dan sesudah perubahan saya secara teoritis akan menjadi alat yang berharga.
Namun, ini ternyata lebih sulit daripada yang mungkin dipikirkan, karena alat menghasilkan garis di mana urutannya tidak penting (seperti import
pernyataan, deklarasi fungsi, ...) dengan cara yang dipesan secara semi-acak. Karena ini, output dari diff
berantakan dengan banyak perubahan yang sebenarnya hanya garis yang dipindahkan ke posisi lain di file yang sama.
Apakah ada cara untuk membuat diff mengabaikan gerakan ini dan hanya menampilkan garis yang benar-benar telah ditambahkan atau dihapus?
diff
alat ini dapat memisahkan perpindahan yang valid dari yang tidak valid, karena Urutan instruksi dalam kode memang penting, dan kasus-kasus di mana ini tidak benar terbatas (impor, deklarasi fungsi dan kelas, dll)?