Edite el archivo $HOME/.subversion/config
por lo que contiene la línea:
diff-cmd = <your favorite diff application>
Algunas aplicaciones de diferencias admiten svn. Por ejemplo, diff-cmd = meld
debería funcionar bien Sin embargo, vimdiff
es no uno de ellos. La razón de esto es que svn diff
da los archivos a comparar como argumentos 6 y 7, y no como 1 y 2 como de costumbre. Entonces, lo que la mayoría de la gente hace en esta situación es esto:
Crear una secuencia de comandos contenedora :
#!/bin/sh
/usr/bin/vimdiff ${6} ${7}
Guárdelo, por ejemplo, en $HOME/bin/svndiffwrap.sh
No olvides hacerlo ejecutable chmod +x $HOME/bin/svndiffwrap.sh
.
Conviértalo en el comando svn diff :
en $HOME/.subversion/config
:
diff-cmd = /home/<username>/bin/svndiffwrap.sh
Nota :Algunos clientes svn no admiten rutas que usan $HOME
Variable ambiental. Por lo tanto, es útil especificar la ruta completa.
Lo encontré en:http://blog.tplus1.com/index.php/2007/08/29/how-to-use-vimdiff-as-the-subversion-diff-tool/
Esta publicación de blog toma el script directamente del ejemplo de herramientas de diferencias externas 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.
vimdiff
está en /usr/local/bin
, para mí, en Fedora, estaba en /usr/bin
. Si no lo encuentra, ejecute:
$ whereis vimdiff
Luego en ~/.subversion/config
:
[helpers]
...
diff-cmd = /home/<username>/bin/diffwrap.sh
vimdiff <(svn diff)
<()
se conoce como sustitución de proceso que crea un pseudoarchivo a partir de la salida de svn diff
para vimdiff
para consumir.
Puede crear un alias de shell así:alias svndiff='vimdiff <(svn diff)'
Respuesta similar
PD:esta es la solución más simple que aún tengo que encontrar; ¡cambió mi vida (relativamente hablando)!
VCSCommand puede hacerlo por usted:instale el complemento, navegue hasta el archivo y presione <Leader>cv