2009-10-26 62 views
4

是否有一些svnsvnadmin命令會顯示本地回購的修訂版本?我希望能夠有一個Windows批處理或PowerShell腳本,可以讓我壓縮回購併將其命名爲電子郵件。獲取SVN信息庫修改編號

我能找到的最好的只是找到[reporoot]\db\revs\0中的最高文件,但它看起來有點笨重,我不知道它是否可靠。

回答

7

(編輯)svnversion不太好,因爲它涉及到工作副本,而不是存儲庫。

svn info也涉及到工作副本。

=>svnlook youngest REPOS_PATH應該這樣做。另請參閱svn redbook.

+1

SVN信息具有目標參數。 TARGET可能是工作副本路徑或存儲庫URL。 – 2013-02-27 09:06:44

3

svnversion是你想要的命令。運行svnversion --help獲取輸出的解釋。

+0

這個環節應該有所幫助:http://svnbook.red-bean.com/en/1.5/svn.ref.svnversion.re.html – hexium 2009-10-26 21:54:35

4

您也可以使用svn info,它具有無需在工作副本內某處運行它(或提供工作副本的路徑)的優點 - 您可以將它傳遞給repo,它會顯示有關存儲庫的各種信息,包括最新的修訂版本號。 svnversion相反會顯示工作副本的最後修訂版本號,但這不需要與版本庫的修訂版相同。

此外,svn info顯示有關存儲庫的更多詳細信息,而不是svnversion。這可能是一個專業或一個騙局,取決於你的使用。

0

以前的反應可能不適用於所有版本的subversion,不確定舊版本的subversion是否支持xml解析輸出。可以將「修訂」替換爲其他信息媒體資源。

#this do an info split by new line split by : then get the second parameter where first parameter is equal to Revision 
$svnRevision = (svn info "somedirectoryorurl") | %{$_ -split '#'} | Where-Object {($_ -split ":")[0] -eq "Revision"} | %{($_ -split ":")[1].Trim()}