2013-07-15 9 views
19

Farklı etiketlerin revizyonlarına ihtiyacım var. Şimdiye kadar SmartSVN'de bir Tag-Browser kullandım. Ancak oldukça yavaş.SVN etiketleri ve revizyonları komut satırından nasıl listeleniyor

svn ls "^/tags" gibi bir şey yalnızca etiketleri gösterir, ancak düzeltmeleri göstermez.

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

gibi Ve bir şey gerekli değildir, çok fazla kafa karıştırıcı bilgiler verir.

Yalnızca etiketler ve revizyonlarını almak için bir svn komutu var mı?

cevap

26

seçeneği siz -v ekleyerek her etiket için taahhüt En son revizyon numaralarını görebilirsiniz:

svn ls -v ^/tags 

sonuçları işlemek istiyorsanız

, ben komut satırını svn info --xml --depth=immediates ^/tags kullanılması önerilir ve XML ayrıştırma bir komut dosyasıyla belge. Örneğin, aşağıdaki python betiği, etiketlerin adlarını kendi revizyon numaralarıyla yazdırır:

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