Bagaimana cara mengeluarkan perbedaan antara dua revisi tertentu di Subversion?


120

Saya menggunakan Subversion melalui antarmuka baris perintah Linux.

Saya ingin melihat perbedaan antara revisi 11390 dan 8979 dari file tertentu yang dipanggil fSupplierModel.phpdi terminal saya. Bagaimana saya bisa melakukan itu?


Tambahkan di sini adalah cara menerapkannya kembali: stackoverflow.com/questions/10333712/…
Vadzim

Jawaban:


171

Lihat svn diffdi manual:

svn diff -r 8979:11390 http://svn.collab.net/repos/svn/trunk/fSupplierModel.php

3
Jika Anda menginginkan keluaran yang cantik, instal colordiff dan tambahkan `| colordiff` ke akhir perintah di atas untuk menyalurkan semuanya melalui itu.
William Turrell

56

Untuk membandingkan seluruh revisi, cukup:

svn diff -r 8979:11390


Jika Anda ingin membandingkan status komitmen terakhir dengan file kerja yang saat ini disimpan, Anda dapat menggunakan kata kunci praktis:

svn diff -r PREV:HEAD

(Catatan, tanpa apa pun yang ditentukan setelah itu, semua file dalam revisi yang ditentukan akan dibandingkan.)


Anda dapat membandingkan file tertentu jika Anda menambahkan jalur file setelahnya:

svn diff -r 8979:HEAD /path/to/my/file.php


2
menempatkan HEAD: PREV tampaknya lebih masuk akal bagi saya dalam keluaran diff, mungkin akan membantu orang lain
Fonix

@Fonix apakah Anda berparadigma "bagaimana cara lain melakukan berbeda dari keadaan saya saat ini"? Jika demikian, saya setuju. Saya biasanya memikirkan perubahan kronologis yang dilakukan, jadi perubahan yang dibuat di HEAD akan menjadi perubahan baru / tambahan dari PREV, yang merupakan paradigma yang biasanya saya pikirkan. Ada kasus dan argumen yang harus dibuat untuk kedua paradigma tersebut.
ahnbizcad
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.