2011-06-13 14 views
12

Çıkışı git günlüğünden ayrıştırmak istiyorum. Geçerli aracım, svn günlüğünün sahip olduğu --xml seçeneğini ayrıştırmak için bunu svn için yapar. Git çıkışını xml olarak nasıl çıkaracağımı anlayamıyorum. Xml bir seçenek değilse, bu çıktıyı ayrıştırmanın en iyi yolu nedir? Ben gerçekten "yazar" ve "tarih" ect arıyor, ham metin olarak ayrıştırmaktan kaçınmak istiyorum.git log çıktısını ayrıştırma, tercihen xml olarak

sayesinde

+0

Herhangi bir özel biçim çıktı alabilirsiniz, bkz. Http://stackoverflow.com/questions/4600445/git-log-output-to-xml-json-or-yaml – konsolenfreddy

cevap

10
Sen biçimlendirme seçeneklerini kullanarak kendi basit xml çıktı inşa edebileceğini

.

git log --pretty=format:"<entry><author>%an</author><commit_date>%cd</commit_date><message_body>%b</message_body></entry>" 

Sadece istediğiniz alanları ekleyin.

man git-logOLDUKÇA Biçimleri bölüm erişebilir alanların listesini gör (Uygun xml başlığı vb isterseniz komut için biraz gerekir).

+0

Bu işlem mükemmel şekilde çalışacaktır. Teşekkürler. –

+8

aslında bu, herhangi bir alanın ham metinlerinde sözde-XML'e sahip olduğu anda çalışmaz. Böyle bir yaklaşım için uygun destek, git seviyesinde XML bilgisini (en azından kaçmak için) gerektirir. Ancak çoğu durumda doğru şekilde çalışacak. – Oblomov

+0

@Oblomov Evet, sadece yanmışım. CDATA’daki tehlikeli şeyleri tamamladım ve daha sonra bunu bölerim. İyi çalışıyor gibi görünüyor. Başların için teşekkürler. –