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