您如何收到存储库更新的通知?
-
21-09-2019 - |
题
我正在工作中处理多个存储库,如果 SVN 存储库发生任何变化,我希望得到通知。
我制作了一个小的 BAT 脚本(是的,BAT 有时很有用),它不断执行 svn log -r BASE:HEAD
在我的工作副本上。它显示所有提交评论和修订日期。它工作得很好,但对于不同的存储库来说并不舒服。
您如何跟踪存储库中的更改?您使用自己编写的小程序吗?你使用别人制作的软件吗?我对解决这个问题的每一种方法都很感兴趣。
我想得到 通知 以及有关提交的更多信息。IDE 集成功能很好,但只有在我请求信息时才有效。
我不想采取行动来获取此信息。
平台:Windows、Subversion 1.5 及更高版本。
解决方案
我使用 CommitMonitor ;这是从的 TortoiseSVN的的开发商之一。您可以轻松地添加多个SVN网址,以监控和指定的时间间隔来检查提交。如果找到任何更新,它显示在屏幕的角落一个小的弹出窗口。
还有 SVN监视器,但是这是一个比较复杂一点使用和安装。除了在提交给一个消息,它也可以告诉你哪些文件你已经修改,并提醒您提交更改。
其他提示
我有 WebSVN 安装并订阅RSS源我感兴趣的路径。
电子邮件。一个例子 SVN的post-commit钩子来发送电子邮件可能在颠覆本身找到。
我使用 PowerShell的以检测在一个SVN分支的更改和部署。这个脚本应该从任务计划被调用,从SVN根(或者你可以简单循环和执行睡永远):
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..." }
这远比使用任何上述提到的第三方应用程序的更容易和便于携带。
svn info | grep Revision
为我工作。它显示,例如:
Revision: 183
如果它是从什么,我认为它应该,那么我进一步调查改变了。
不隶属于 StackOverflow