Comment puis-je vérifier si 2 révisions dans SVN diffèrent? Je veux seulement savoir s'ils ont le même contenu ou non.

Je sais que vous vérifiez la commande diff. Exemple

svn diff -r 12345:67890 http://subversion.test.com/svn/myapp

Mais cela peut produire beaucoup de sortie. Le code retour de diff est toujours zéro, quel que soit le résultat.

J'utilise linux / bash

Je veux incorporer cela sous une forme comme:

svn diff -r 12345:67890 http://subversion.test.com/svn/myapp
if [[ "$?" == "1" ]]; then
    echo "Code is Different"
fi
2
wmc 16 janv. 2017 à 18:48

2 réponses

Meilleure réponse

Vous pouvez simplement utiliser:

mod=`svn diff -r 12345:67890 http://subversion.test.com/svn/myapp | wc -l`
if [[ $mod -ne 0 ]]; then
    echo "Code is Different"
fi

Puisque le svn diff devrait lister la différence.

2
Gnqz 16 janv. 2017 à 19:52

Vous pouvez jouer en disant à svn d'utiliser une commande diff arbitraire, en utilisant svn diff --diff-cmd some-diff-cmd.

La solution low-tech pourrait vérifier les deux révisions et exécuter votre /usr/bin/diff -q dessus; cela donnera un statut de sortie différent pour des fichiers différents et identiques.

0
Jens 16 janv. 2017 à 15:58