2011-06-13 16 views
12

के रूप में मैं गिट लॉग से आउटपुट को पार्स करना चाहता हूं। मेरा वर्तमान उपकरण यह svn लॉग के लिए --xml विकल्प को पार्स करके svn के लिए करता है। मुझे यह पता लगाना प्रतीत नहीं होता कि गिट लॉग को एक्सएमएल के रूप में कैसे आउटपुट करना है। यदि एक्सएमएल कोई विकल्प नहीं है, तो इस आउटपुट को पार्स करने का सबसे अच्छा तरीका क्या है? मैं वास्तव में कच्चे पाठ के रूप में इसे पार्स करना चाहता हूं, "लेखक" और "तारीख" ect की तलाश में हूं।पार्सिंग गिट लॉग आउटपुट, अधिमानतः एक्सएमएल

धन्यवाद

+0

आप किसी भी कस्टम प्रारूप को आउटपुट कर सकते हैं, http://stackoverflow.com/questions/4600445/git-log-output-to-xml-json-or-yaml – konsolenfreddy

उत्तर

10

आप स्वरूपण विकल्पों का उपयोग करके अपने खुद के सरल एक्सएमएल उत्पादन बना सकता है।

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

बस जो भी फ़ील्ड आप चाहते हैं उसे जोड़ें। (आप स्क्रिप्ट को थोड़ा की आवश्यकता होगी, तो आप उचित xml शीर्ष आदि चाहते हैं)

man git-logसुंदर प्रारूप खंड क्षेत्रों आप की पहुंच है की सूची देखें।

+0

देखें यह पूरी तरह से काम करेगा। धन्यवाद। –

+8

वास्तव में यह तब तक काम नहीं करेगा जब तक कि किसी भी फ़ील्ड में उनके कच्चे पाठ में छद्म-एक्सएमएल नहीं है। इस तरह के दृष्टिकोण के लिए उचित समर्थन के लिए गिट स्तर पर एक्सएमएल (कम से कम भागने के लिए) के ज्ञान की आवश्यकता होगी। लेकिन यह ज्यादातर मामलों में सही ढंग से काम करने जा रहा है। – Oblomov

+0

@ ओब्लोमोव हाँ, मैं बस उस से जला दिया। मैं सीडीएटीए में खतरनाक सामान लपेटकर समाप्त हुआ और बाद में इसे इस तरह पार्स कर दिया। ठीक काम करने लगता है। सर उठाने के लिए धन्यवाद। –

संबंधित मुद्दे