2013-07-15 144 views
19

我需要修改不同的标签。到目前为止,我在SmartSVN中使用了一个标签浏览器。然而它很慢。如何从命令行列出SVN标签及其修订版

svn ls "^/tags"这样的东西只显示标签,但没有修订。 而像

svn log /path/to/tag -v --stop-on-copy 

给出了不需要太多混乱的信息。

是否有一个svn命令来获取标签及其修订?

回答

26

您可以通过添加选项-v看到最新的版本号提交每个标签:

svn ls -v ^/tags 

如果你要处理的结果,我建议使用命令行svn info --xml --depth=immediates ^/tags和解析XML文件与脚本。例如,以下python脚本使用其修订版编号打印标签的名称:

#! /usr/bin/env python3 
import sys, lxml.etree 
document = lxml.etree.parse(sys.stdin.buffer) 
for entry in document.xpath('//entry[@kind="dir"]'): 
    print(entry.xpath('string(@path)'), entry.xpath('string(commmit/@revision)')) 
相关问题