2017-07-07 5 views
1

私はLinuxのコンピュータにSVNサーバを使っています。自動的にコンパイルするためのbashコードを開発しようとしています。私のSVNサーバーに更新されていない場合は、ファイルをコンパイルしたくないということです。最初に私が行うことは更新をチェックすることです。LinuxのbashにtortoiseSVNのアップデートをチェックする条件がある場合

この方法:

のsvn更新した場合、その後、

...

Fiの

問題は更新がない場合でも、それが更新を確認する必要があるため、それがあれば状態に入るということです。更新があったかどうかを確認する方法があるかどうかを知りたい。

ありがとうございました。

+1

svn updateコマンドの出力を解析する必要があります。 –

+0

プロジェクト内の他のパートナーがSVNだけを知っているので、私はこれらのプラットフォームで作業しようとする必要があります。 – tutamatumatu

+0

代わりにsvnフックを試しましたか?基本的には、svnサーバが「いくつかの変更」に気づいたときに実行されるbashスクリプトです。 –

答えて

0

アドホックスクリプトではなくsvnフックを使用することをお勧めしますが、サーバー側に配置する必要があります。

これは、独自のスクリプトを作成する必要がある場合は、エラーが発生していなければsvn updateコマンドがtrueと評価されることに注意する必要があります。これは本当にファイルを更新するかどうかのコマンドとは関係ありません。したがって、現在のsvnバージョンとリモートリポジトリのsvnバージョンを確認する必要があります。それらが異なる場合は、svnの更新やその他のコマンドを実行することができます。

#!/bin/bash 

REMOTE_REPO="svn://path/to/remote/repo" 
LOCAL_REPO="/path/to/local/repo" 

REMOTE_REV=$(svn info $REMOTE_REPO | grep '^Revision:' | awk {' print $2 '}) 
LOCAL_REV=$(svn info $LOCAL_REPO | grep '^Revision:' | awk {' print $2 '}) 

if [ $REMOTE_REV -ne $LOCAL_REV ]; then 
    cd $LOCAL_REPO 
    svn up 

    # Add any other command here 
fi 
+0

私のために働いてくれてありがとう – tutamatumatu

関連する問題