Edit file $HOME/.subversion/config
sehingga berisi baris:
diff-cmd = <your favorite diff application>
Beberapa aplikasi berbeda mendukung svn. Misalnya, diff-cmd = meld
harus bekerja dengan baik. Namun, vimdiff
adalah tidak salah satu diantara mereka. Alasannya adalah svn diff
memberikan file untuk dibandingkan sebagai argumen ke-6 dan ke-7, dan bukan sebagai argumen ke-1 dan ke-2 seperti biasanya. Jadi yang dilakukan kebanyakan orang dalam situasi ini adalah:
Buat skrip pembungkus :
#!/bin/sh
/usr/bin/vimdiff ${6} ${7}
Simpan, misalnya, di $HOME/bin/svndiffwrap.sh
Jangan lupa untuk membuatnya dapat dieksekusi chmod +x $HOME/bin/svndiffwrap.sh
.
Jadikan sebagai perintah svn diff :
di $HOME/.subversion/config
:
diff-cmd = /home/<username>/bin/svndiffwrap.sh
Catatan :Beberapa klien svn tidak mendukung jalur yang menggunakan $HOME
variabel lingkungan. Jadi sangat berguna untuk menentukan jalur lengkap.
Ditemukan di:http://blog.tplus1.com/index.php/2007/08/29/how-to-use-vimdiff-as-the-subversion-diff-tool/
Entri blog ini mengambil skrip langsung dari contoh alat diff eksternal buku SVN:
diffwrap.sh
#!/bin/sh
# Configure your favorite diff program here.
DIFF="/usr/local/bin/vimdiff"
# Subversion provides the paths we need as the sixth and seventh
# parameters.
LEFT=${6}
RIGHT=${7}
# Call the diff command (change the following line to make sense for
# your merge program).
$DIFF $LEFT $RIGHT
# Return an errorcode of 0 if no differences were detected, 1 if some were.
# Any other errorcode will be treated as fatal.
Catatan: Ini mengasumsikan bahwa vimdiff
Anda ada di /usr/local/bin
, bagi saya, di Fedora, ada di /usr/bin
. Jika Anda tidak dapat menemukannya, jalankan:
$ whereis vimdiff
Lalu di ~/.subversion/config
:
[helpers]
...
diff-cmd = /home/<username>/bin/diffwrap.sh
vimdiff <(svn diff)
<()
disebut sebagai substitusi proses yang membuat file pseudo dari output svn diff
untuk vimdiff
untuk dikonsumsi.
Anda dapat membuat alias shell seperti ini:alias svndiff='vimdiff <(svn diff)'
Jawaban serupa
PS - ini adalah solusi paling sederhana yang belum saya temukan; itu mengubah hidup saya (secara relatif)!
VCSCommand dapat melakukannya untuk Anda - instal plugin, arahkan ke file, dan tekan <Leader>cv