2017-02-21 12 views
0

私はPythonで書かれたプログラムを持っています。 私はSVNを使用してユーザーに変更を展開します。 SVNが停止し、変更がユーザーのコンピュータにダウンロードされないことがあります。そのような場合は、手動でSVN CLEANUPを実行する必要があります。問題はどのステーションにどのリビジョンがあるのか​​わからないことです。ユーザーは引き続き問題の原因となる古いリビジョンを処理します。ローカルとリポジトリのSVNリビジョンを比較するには?

プログラムのランチにローカルのSVNリビジョンとサーバーを比較し、それが一致しない場合はメッセージが表示されるというコードを書きたいと思います。

私は、サーバーのリビジョンを取得するコードを記述するために管理している:

import re,subprocess 
svn_info = subprocess.check_output("svn info svn_address") 
print (re.search(ur"Revision:\s\d+", svn_info)).group() 

をしかし、私は比較するために、ローカルのリビジョンを得るのですかどのように私は理解していません。

私はSVNローカルフォルダに移動して行う場合は、次の

svn info 

私は地元のリビジョンを参照してください。しかし、私はPythonコード内でこのデータにアクセスする方法を知らない。

答えて

1

あなた自身が外部コマンドのテキスト結果を解析するのではなく、 "メンテナンス"されたPython SVNラッパーを使用することをお勧めします。見てくださいhere

+0

ちょうど2つの整数のパッケージをインストールする必要はないと思います。印刷物は私のためだけです..それはコード自体に含まれません....私はローカルのsvnリビジョンを知る方法が必要です。あなたはそれを助けることができますか? :) – avi

+0

はい、それはちょうど個人的な視点だった、そのような小さなデザインの問題についての無限の議論に必要はありません;-)あなたの質問に答えるために、私はsvn情報(svnアドレスなし)は、リビジョン。しかし、私はしばらくそれを使用していないので、私は間違っているかもしれません。あなたの質問を編集したことを見た。申し訳ありません、ちょうどあなたがあなたの質問を編集したのを見ました... –

+0

svn情報が答えを出すのは事実ですが、私は正しいディレクトリにあるのでマニュアルで行います...もし、私:svn:警告: '。は作業コピーではありません – avi

関連する問題