【问题标题】:Jenkins: Check if a file was changed by svn updateJenkins:检查文件是否被 svn update 更改
【发布时间】:2012-10-18 22:41:58
【问题描述】:

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

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

我是否必须存储上次结帐的修订号并将其与 svn log requirements.txtsvn diff 的输出进行比较? p>

【问题讨论】:

    标签: python svn jenkins pip


    【解决方案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 更旧的 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
    

    【讨论】:

    • 但是这只在svn up之前有效,对吧?当 jenkins 执行我可能需要更新环境的构建步骤时,它已经完成了 svn up。我在想,也许我应该在这里多看点 pip 而不是 svn 的方向。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多