2012-10-18 96 views
0

我想知道自上次結帳後某個文件是否發生了變化 - 在jenkins從svn中檢查了我的存儲庫之後。由於構建過程始於jenkins更新工作空間,我需要找出然後不能通過svn status -u進行檢查。Jenkins:檢查一個文件是否被svn更新

這裏的背景是我想檢查包含項目需求(requirements.txt)的文件是否被更改,並在這種情況下更新環境(virtualenv)。

我會有存儲最後結賬的版本號,並將其與SVN日誌輸出requirements.txtSVN差異針對修訂比較?

回答

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裏面有差異本地文件允許使用永久符號修訂名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 
+0

但這只是之前SVN後續工作,對不對?當jenkins執行構建步驟時,我可能需要更新環境,它已經完成了svn。我是thinkng,或許我應該在這裏比svn更注重點的方向。 – kioopi