2012-10-16 34 views
6

Whe建立了一个封装程序,它可以区分svn中的最后一个标签,并准备目录折叠并将右边的“diff”文件复制到右侧。svn:如何列出svn命令行中的最后一个标签?

但是我们必须输入两行标签名,所以我们必须咨询修订图(从windows)。

有没有办法从svn命令行客户端列出标签?

回答

14

这将在Windows,Mac或Linux命令行工作,虽然它要求当前工作目录是在工作副本:

svn ls "^/tags" 
2

随着电源外壳:

$path = (([Xml] (svn log --xml $Url --verbose --username $Username --password $Password)).Log.LogEntry.Paths.Path | 
? { $_.action -eq 'A' -and $_.kind -eq 'dir' -and $_.InnerText -like '*tags*'} | 
Select -Property @(
    @{N='date'; E={$_.ParentNode.ParentNode.Date}}, 
    @{N='path'; E={$_.InnerText}})| 
Sort Date -Descending | 
Select -First 1).path 

其中$ Url是您标记的网址

+0

@realtebo:大部分命令只是调用'svn'。其余部分是精心设计的'grep','cut','sort'和'head'。我想我会写一些不同的东西。 – Joey