Jenkins:检查svn update是否更改了文件

时间:2012-10-18 22:41:59

标签: python svn jenkins pip

我想知道自上次结账后某个文件是否发生了变化 - 在jenkins从svn检查了我的存储库之后。由于构建过程以jenkins更新工作区开始,我需要找出并且无法通过 svn status -u 进行检查。

这里的背景是我想检查包含项目要求(requirements.txt)的文件是否被更改,并且在这种情况下更新环境(virtualenv)。

我是否必须存储最后一个结帐的修订号,并将其与 svn log requirements.txt svn diff 的输出进行比较?

1 个答案:

答案 0 :(得分: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是工作副本,更新为旧版本的repo,而不是当前的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