2008-11-12 4 views

Répondre

23

D'un Beyond Compare forum post:

/usr/bin/bcompare_svn:

#!/bin/bash 
/usr/bin/bcompare $6 $7 & 
exit 0 

L'invocation de bcompare est évident mais je dû ajouter "exit 0" de sorte que svn ouvrirait plus d'un fichier à la fois.

Pour svn appeler mon script, j'ai ajouté la ligne suivante dans la section [aides] dans ~/.subversion/config

diff-cmd=/usr/bin/bcompare_svn 
11

Regardez svn --diff-cmd.

+1

avec --diff-cmd svn client (le mien est 1.6.6) génère encore -L options à la commande spécifiée, comme dans -L "fichier1 (rev xyz)" -L "fichier2 (rev abc)" Donc, sauf si votre diff cmd est OK avec ceux-là, c'est cassé. Chris a une bonne solution de contournement dans sa page Beyond Compare, qui consiste à créer un script de lancement. – greggo

8

Je voudrais ajouter un commentaire à la réponse de Andy Lester mais je ne pas avoir une assez grande réputation. Cependant, je peux répondre à la question, je suppose.

... Quoi qu'il en soit comme Andy run "svn diff aide" déjà noté, mais pour vous donner la réponse ...

svn diff --diff-cmd < diff-cmd > --extensions < diff- Options cmd >

svn diff --diff-cmd/usr/bin/diff de "-bca" < nom de fichier (s) >

4

I instructions récemment ajouté pour Subversion sous Linux à notre page web Using Beyond Compare With Version Control Systems . Une fois que vous suivez les étapes du lien ci-dessus, il devrait lancer Beyond Compare 3 pour Linux lorsque vous lancerez "svn diff".

+0

Note, vous avez besoin de la version pro pour que cela fonctionne. –

+0

Oui, cela a résolu mes problèmes :-), merci – Abdullah

4

Dans le dernier Subversion, le script/usr/bin/bcompare_svn devrait ressembler à ceci:

#!/bin/bash 
cp $6 $6.save 
cp $7 $7.save 
{ 
    /usr/bin/bcompare $6.save $7.save 
    rm $6.save $7.save 
} & 
exit 0 

ou (code non testé)

#!/bin/bash 
base=`echo $3 | sed -r "s/^([^\(]+)[ \t]+\((.+)\)$/\1.\2/g" | xargs -i% basename "%"` 
current=`echo $5 | sed -r "s/^([^\(]+)[ \t]\((.+)\)$/\1.\2/g" | xargs -i% basename "%"` 

mv "$6" "/tmp/$base" 
mv "$7" "/tmp/$current" 
{ 
    /usr/local/bcompare/bin/bcompare "/tmp/$base" "/tmp/$current" 
    rm "/tmp/$base" "/tmp/$current" 
} & 
exit 0 
+1

Testé le deuxième code: fonctionne .. génial! +1 – ezdazuzena

Questions connexes