किसी दिए गए SVN रिपॉजिटरी के लिए मुझे उन सभी उपयोगकर्ताओं की सूची निर्धारित करने की आवश्यकता है, जिन्होंने कभी भी उस रिपॉजिटरी के लिए कुछ भी किया हो। यह रिपॉजिटरी एसवीएन सर्वर पर केवल एक ही नहीं है, लेकिन सूची उस रिपॉजिटरी तक सीमित होनी चाहिए।
किसी दिए गए SVN रिपॉजिटरी के लिए मुझे उन सभी उपयोगकर्ताओं की सूची निर्धारित करने की आवश्यकता है, जिन्होंने कभी भी उस रिपॉजिटरी के लिए कुछ भी किया हो। यह रिपॉजिटरी एसवीएन सर्वर पर केवल एक ही नहीं है, लेकिन सूची उस रिपॉजिटरी तक सीमित होनी चाहिए।
जवाबों:
जब मैंने अपने अजगर के पार्सिंग को फिर से लिखना शुरू किया, तो मैंने जो कुछ भी पूछा उससे आपको बेहतर तरीके से पता चला (मैंने सप्ताहांत / कार्यदिवस जमा करने के अनुपात की गणना करने के लिए नाम और प्रस्तुत करने की तारीखें देखीं, जिनके पास कोई जीवन नहीं था!)
रेपो की जांच करें, फिर उस पर जाएं और निष्पादित करें:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
यह उन सभी परिवर्तनों की एक सूची प्राप्त करता है, जो संशोधन और संख्या ( r[12341] | author | date-and-stuff...
) के साथ शुरू होने वाली रेखाओं के लिए greps , तीसरे क्षेत्र (लेखक) को प्रिंट करता है, लेखकों को सॉर्ट करता है और डुप्लिकेट से छुटकारा दिलाता है।
(no author)
) जोड़ने -F ' [|] '
awk करने के लिए पूरे नाम हड़पने जाएगा: svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniq
।
मुझे पता है कि यह धागा पुराना है लेकिन चूंकि एसवीएन को जीआईटी में बदलने के लिए कुछ ट्यूटोरियल वहां लिंक कर रहे हैं, मैं एक कमांड जोड़ता हूं जो एक Auth.txt फ़ाइल उत्पन्न करेगा:
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > Authors.txt
यदि यह एक आयातित SVN है, या यदि आप Not a working copy
त्रुटि पर ठोकर खाते हैं, तो आप file:///tmp/svn-repo
बाद में जोड़कर SVN फ़ोल्डर में स्थानीय पथ निर्दिष्ट कर सकते हैंsvn log -q
svn log
उन उपयोगकर्ताओं के लिए पार्स कर सकते हैं जिन्होंने परिवर्तन किए हैं? या रेपो की जांच कर रहा है एक विकल्प नहीं है?