2010-02-17 70 views
21

我正在處理幾個工作存儲庫,並希望得到通知,如果SVN存儲庫中有任何更改。你如何得到存儲庫更新的通知?

我做了一個小蝙蝠腳本(是的,BAT有時是有用的),其不斷我的工作拷貝執行的svn log -r BASE:HEAD。它顯示所有提交意見和修訂日期。它工作得很好,但不適合不同的存儲庫。

如何跟蹤存儲庫中的更改?你使用自己製作的小程序嗎?你使用其他人制作的軟件嗎? 我對這個問題的每種方法都感興趣。

我想獲得通知和有關承諾的更多信息。 IDE集成的功能很好,但只有在請求信息時才能使用。
我不想採取行動來獲取此信息。

平臺:Windows,Subversion 1.5和更高版本。

回答

30

我正在使用CommitMonitor;它來自TortoiseSVN開發人員之一。您可以輕鬆添加多個SVN URL來監視並指定檢查提交的時間間隔。如果找到任何更新,它會在屏幕的角落顯示一個小小的彈出窗口。

還有SVN Monitor,但是這是一個比較複雜一點使用和安裝。除了提交提交消息外,它還可以顯示您已修改的文件並提醒您提交更改。

+0

這些建議非常好,我會看! – guerda 2010-02-17 08:59:52

+3

+1提交監視器 - 拖放死易於使用 – Antony 2010-02-17 10:07:37

+0

CommitMonitor的新位置更新:http://sourceforge.net/projects/commitmonitor/ – Ascalonian 2015-12-31 05:42:16

0

svn info | grep Revision適合我。它顯示,例如:

Revision: 183 

如果它從我認爲應該改變,然後我進一步調查。

+0

通知如何工作? – 2016-08-30 11:21:22

0

我用

svn status --show-updates 

告訴你我已經改變了哪些文件,以及那些已經在庫更改的文件。

你可以使用Subversion's hook scripts設置通知。

+1

它沒有幫助。我想獲得通知。 – guerda 2010-02-17 08:02:19

5

如果您已經安裝TortoiseSVN,那麼你可以使用SVN Notifier

+0

如何啓動SVN通知程序?有沒有exe文件?它曾經自己運行,但我在幾天前停止了它。 – Danijel 2017-03-17 07:01:41

2

我已經WebSVN安裝並訂閱RSS源我感興趣的路徑。

+0

不錯的可能性! – guerda 2010-02-17 12:14:23

1

我用PowerShell檢測上的SVN分支的更改和部署。該腳本應該從Task Scheduler被調用,從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"; [email protected]{} } 

if-changed trunk { "Deploying trunk..." } 

這比使用上述任何第三方應用程序的更簡單,便於攜帶。

+0

通知的方法是什麼?從PowerShell代碼中不清楚。 – 2016-08-30 11:24:25

+0

用戶如何通知?例如,打開包含通知文本的***新***命令行窗口? – 2016-08-31 08:44:32

+0

你可以選擇:if-changed trunk {Send-Mail ...}。 BaloonPopup是另一種流行的選擇。 – majkinetor 2016-09-03 14:19:03

相關問題