2017-01-16 4 views
2

SVNの2つのリビジョンが異なるかどうかを確認する方法はありますか? 私は彼らが同じ内容を持っているかどうかだけ知りたいです。SVNリビジョンが異なるかどうか確認してください

私はあなたがdiffコマンドを確認することが分かっています。例

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

しかし、これは多くの出力を生成する可能性があります。 diffの戻りコードは、結果に関係なく、常にゼロです。あなたはsvn diff --diff-cmd some-diff-cmdを使用して、任意のdiffコマンドを使用するようにSVNを伝えるで遊ぶことができます

svn diff -r 12345:67890 http://subversion.test.com/svn/myapp 
if [[ "$?" == "1" ]]; then 
    echo "Code is Different" 
fi 
+0

すべてのコマンドは自動処理を目的とした '--xml'スイッチを受け入れます。 –

+0

完全一致の場合(空白がないとみなして)、modified = 'svn diff -r 12345:67890 http://subversion.test.com/svn/myapp |を使用できます。 diffは修正された行をリストする必要があるため、wc -l'を使用します。次に、比較のために変更された変数を使用します。 – Gnqz

+0

@Gnqzそれは素晴らしい解決策のように見えます! 〜私は良い古いlinuxコマンドでもう少し時間を費やす必要があります。 :) – wmc

答えて

1

あなただけ使用することができます

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

svn diffが違いをリストする必要があるため。

0

は、私はLinuxの/ bashの

を使用しています私のような形でこれをincoorperateたいです。

ローテクソリューションは、リビジョンをチェックアウトして/usr/bin/diff -qを実行している可能性があります。異なるファイルと同一のファイルに対して異なる終了ステータスを生成します。