0

ジェンキンスがリポジトリをsvnからチェックアウトした後、最後のチェックアウト以降に特定のファイルが変更されたかどうかを知りたいです。ビルド プロセスは jenkins がワークスペースを更新することから始まるため、それを確認する必要があり、svn status -uで確認できません。

ここでの背景は、プロジェクト要件 (requirements.txt) を含むファイルが変更されたかどうかを確認し、この場合は環境 (virtualenv) を更新することです。

最後のチェックアウトのリビジョン番号を保存し、そのリビジョンに対するsvn log requirements.txtまたはsvn diffの出力と比較する必要がありますか?

4

1 に答える 1

1

ここであなたのケースをエミュレートしようとします

z:\j-wc>svn ls -v .
      2 Badger                окт 19 05:40 ./
      2 Badger             13 окт 19 05:40 a.txt
      2 Badger             14 окт 19 05:40 requirements.txt

j-wc は作業コピーであり、現在の HEAD より古いリビジョンのリポジトリに更新されています

z:\j-wc>svn ls -v file:///Z:/repo/trunk
      5 Badger                окт 19 05:44 ./
      2 Badger             13 окт 19 05:40 a.txt
      5 Badger             39 окт 19 05:44 b.txt
      4 Badger             21 окт 19 05:43 requirements.txt

少し前に

(前にsvn up)「requirements.txt に変更を加える予定はありますか?」私が試してみます

z:\j-wc>svn diff -r "BASE":"HEAD" requirements.txt | wc -l. 変更が発生した場合、diff は結果を出力します (ローカル ファイルとの WC 内の diff では、永続的なシンボリック リビジョン名 BASE+HEAD を使用できます)、変更なし == 出力なし

z:\j-wc>svn diff -r "BASE":"HEAD" requirements.txt
Index: requirements.txt
===================================================================
--- requirements.txt    (working copy)
+++ requirements.txt    (revision 5)
@@ -1,2 +1,3 @@
 Req 1
 Req 2
+Req 3
于 2012-10-19T00:22:33.873 に答える