是否有一些svn
或svnadmin
命令會顯示本地回購的修訂版本?我希望能夠有一個Windows批處理或PowerShell腳本,可以讓我壓縮回購併將其命名爲電子郵件。獲取SVN信息庫修改編號
我能找到的最好的只是找到[reporoot]\db\revs\0
中的最高文件,但它看起來有點笨重,我不知道它是否可靠。
是否有一些svn
或svnadmin
命令會顯示本地回購的修訂版本?我希望能夠有一個Windows批處理或PowerShell腳本,可以讓我壓縮回購併將其命名爲電子郵件。獲取SVN信息庫修改編號
我能找到的最好的只是找到[reporoot]\db\revs\0
中的最高文件,但它看起來有點笨重,我不知道它是否可靠。
(編輯)svnversion
不太好,因爲它涉及到工作副本,而不是存儲庫。
svn info
也涉及到工作副本。
=>svnlook youngest REPOS_PATH
應該這樣做。另請參閱svn redbook.
svnversion是你想要的命令。運行svnversion --help
獲取輸出的解釋。
這個環節應該有所幫助:http://svnbook.red-bean.com/en/1.5/svn.ref.svnversion.re.html – hexium 2009-10-26 21:54:35
您也可以使用svn info
,它具有無需在工作副本內某處運行它(或提供工作副本的路徑)的優點 - 您可以將它傳遞給repo,它會顯示有關存儲庫的各種信息,包括最新的修訂版本號。 svnversion
相反會顯示工作副本的最後修訂版本號,但這不需要與版本庫的修訂版相同。
此外,svn info
顯示有關存儲庫的更多詳細信息,而不是svnversion
。這可能是一個專業或一個騙局,取決於你的使用。
function Get-SvnRevision($dir)
{
([xml](svn info $dir --xml)).info.entry.revision
}
嘗試的VisualSVN PowerShell命令:
獲取命令 - 模塊的VisualSVN
GET-SvnRepository會給你倉庫和版本號的列表。參考是在https://www.visualsvn.com/support/topic/00088/
以前的反應可能不適用於所有版本的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()}
SVN信息具有目標參數。 TARGET可能是工作副本路徑或存儲庫URL。 – 2013-02-27 09:06:44