web-dev-qa-db-ja.com

コマンドラインからSVNタグとそのリビジョンをリストする方法

異なるタグの改訂が必要です。これまで、SmartSVNでTag-Browserを使用しました。しかし、それは非常に遅いです。

何かのようなもの svn ls "^/tags"はタグのみを表示し、リビジョンは表示しません。そして何かのような

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

必要のない混乱しやすい情報を与えすぎます。

タグとそのリビジョンのみを取得するsvnコマンドはありますか?

24
swo

オプション-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)'))
33
nosid