我想知道自上次结账后某个文件是否发生了变化 - 在jenkins从svn检查了我的存储库之后。由于构建过程以jenkins更新工作区开始,我需要找出并且无法通过 svn status -u 进行检查。
这里的背景是我想检查包含项目要求(requirements.txt)的文件是否被更改,并且在这种情况下更新环境(virtualenv)。
我是否必须存储最后一个结帐的修订号,并将其与 svn log requirements.txt 或 svn diff 的输出进行比较?
答案 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