2013-07-15 13 views
19

Ich brauche Revisionen von verschiedenen Tags. Bisher habe ich in SmartSVN einen Tag-Browser verwendet. Es ist jedoch ziemlich langsam.Wie SVN-Tags und ihre Revisionen von der Kommandozeile aus aufgelistet werden

Etwas wie svn ls "^/tags" zeigt nur die Tags, aber keine Revisionen. Und so etwas wie

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

gibt zu viel verwirrende Informationen, die nicht benötigt wird.

Gibt es einen Svn-Befehl, um nur Tags und seine Revision zu bekommen?

Antwort

26

Sie können die Versionsnummern der neuesten sehen für jeden Tag begehen, indem er die Option Hinzufügen -v:

svn ls -v ^/tags 

Wenn Sie die Ergebnisse verarbeiten möchten, empfehle ich die Befehlszeile svn info --xml --depth=immediates ^/tags mit und Parsen der XML Dokument mit einem Skript. Beispielsweise gibt das folgende Python-Skript die Namen der Tags mit ihrer Revisionsnummer aus:

#! /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)'))