代码之家  ›  专栏  ›  技术社区  ›  samy

如何获得存储库更新的通知?

  •  22
  • samy  · 技术社区  · 7 年前

    我正在处理几个工作中的存储库,如果SVN存储库中有任何变化,我希望得到通知。

    我做了一个小的BAT脚本(是的,BAT有时很有用),它不断执行 svn log -r BASE:HEAD 在我的工作副本上。它显示所有提交评论和修订日期。它确实工作得很好,但对于不同的存储库来说不太舒服。

    如何跟踪存储库中的更改?你用的是你自己做的一个小程序吗?你用别人做的软件吗? 我对解决这个问题的每一种方法都感兴趣。

    我想买 通知 以及有关提交的更多信息。集成的IDE功能很好,但只有在我请求信息时才能工作。
    我不想为了得到这个信息而采取行动。

    平台:Windows,Subversion 1.5及更高版本。

    7 回复  |  直到 10 年前
        3
  •  2
  •   djch    10 年前
        5
  •  1
  •   majkinetor    10 年前

    PowerShell Task Scheduler

    function get-revision() {
        $rev = svn info 2>&1 | sls '^Last Changed Rev:' | out-string
        $rev = $rev -split ':'
        $rev[1].Trim()
    }
    
    function if-changed([string]$branch, [scriptblock]$script) {
        Write-Verbose "Checking for changes: $branch"
        pushd $branch
        $r = get-revision
    
        if ($r -gt $status[$branch]) {
            Write-Verbose "|- '$branch' changed, revision $r"
            & $script
        }
        else { Write-Verbose "|- '$branch' is up to date at revision $r" }
        $status[$branch] = $r
        popd
    }
    
    svn update
    Write-Verbose "Getting the deploy status"
    if (Test-Path status) { $status = Import-Clixml status } else { Write-Verbose "|- No status found"; $status=@{} }
    
    if-changed trunk { "Deploying trunk..." }
    

        6
  •  0
  •   wallyk    16 年前

    svn info | grep Revision

    Revision: 183
    

        7
  •  0
  •   GHad    10 年前

    svn status --show-updates
    

    Subversion's hook scripts