Modifica il file $HOME/.subversion/config
quindi contiene la riga:
diff-cmd = <your favorite diff application>
Alcune app diff supportano svn. Ad esempio, diff-cmd = meld
dovrebbe funzionare bene. Tuttavia, vimdiff
non uno di loro. Il motivo è che svn diff
fornisce i file da confrontare come 6° e 7° argomento e non come 1° e 2° come al solito. Quindi ciò che la maggior parte delle persone fa in questa situazione è questo:
Crea uno script wrapper :
#!/bin/sh
/usr/bin/vimdiff ${6} ${7}
Salvalo, ad esempio, in $HOME/bin/svndiffwrap.sh
Non dimenticare di renderlo eseguibile chmod +x $HOME/bin/svndiffwrap.sh
.
Rendilo il comando svn diff :
in $HOME/.subversion/config
:
diff-cmd = /home/<username>/bin/svndiffwrap.sh
Nota :Alcuni client svn non supportano percorsi che utilizzano $HOME
variabile d'ambiente. Quindi è utile specificare il percorso completo.
Trovato su:http://blog.tplus1.com/index.php/2007/08/29/how-to-use-vimdiff-as-the-subversion-diff-tool/
Questo post del blog prende lo script direttamente dall'esempio degli strumenti diff esterni del libro 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.
Nota: Ciò presuppone che il tuo vimdiff
è in /usr/local/bin
, per me, in Fedora, era in /usr/bin
. Se non riesci a trovarlo, esegui:
$ whereis vimdiff
Quindi in ~/.subversion/config
:
[helpers]
...
diff-cmd = /home/<username>/bin/diffwrap.sh
vimdiff <(svn diff)
<()
è indicato come sostituzione di processo che crea uno pseudo file dall'output di svn diff
per vimdiff
consumare.
Puoi creare un alias della shell in questo modo:alias svndiff='vimdiff <(svn diff)'
Risposta simile
PS:questa è la soluzione più semplice che devo ancora trovare; mi ha cambiato la vita (relativamente parlando)!
VCSCommand può farlo per te:installa il plug-in, vai al file e premi <Leader>cv