2008-11-16 13 views
5

2 फ़ाइल संशोधन दिए गए हैं, मैं जानना चाहता हूं कि कितनी लाइनें/संशोधित/हटाई गईं। मैं इस जानकारी को हजारों फाइलों के पूरे भंडार के लिए रखना चाहता हूं। कृपया मुझे एक स्क्रिप्ट या उपकरण को इंगित के रूप में मैं एक कुल SVN नौसिखियासंशोधनों के बीच परिवर्तन आंकड़े कैसे निर्धारित करें

मैं खिड़कियों पर काम कर रहा हूँ

नमूना उत्पादन

फ़ाइल ~ NewRevision ~ OldRevision ~ जोड़ी ~ संशोधित ~ हटाए गए

हूँ file1.c ~ # 11 ~ # 10 ~ 1 ~ 2 ~ 0

एक बहुत अच्छा diff उपकरण integ

file1.c ~ # 2 ~ # 1 ~ 2 ~ 2 ~ 0

उत्तर

4

सबवर्सन है इसके भीतर रेट किया गया।

svn diff -rOldRevision:NewRevision URL 

, जिसमें URL आपके भंडार का URL है (उदाहरण के लिए, http://www.mycode.org/svn/trunk): मैं इस तरह के रूप में एक कमांड का प्रयोग करेंगे। यह उस फ़ॉर्म में diff आउटपुट को प्रारूपित नहीं करेगा, जिसे आप ढूंढ रहे हैं, लेकिन यह दिखाएगा कि प्रत्येक संशोधन संख्या के बीच प्रत्येक फ़ाइल कैसे बदली गई है।

अपने स्वरूपण के लिए, आप प्रत्येक फ़ाइल में कितने जोड़ और घटाव की गणना करने के लिए एक grep का उपयोग कर सकते हैं।

आशा है कि इससे मदद मिलती है!

2

एसवीएन (या कोई भी समान उपकरण) एक संशोधित रेखा और एक पंक्ति के बीच अंतर नहीं करता है जिसे हटा दिया गया था और कुछ और के साथ बदल दिया गया था। उस ने कहा, हालांकि, आपकी सबसे अच्छी शर्त एक अंतर प्राप्त करने के लिए होगी (जैसा कि jordan002 ने कहा था) और फिर + या - से शुरू होने वाली लाइनों की खोज करें। प्रत्येक के लिए, प्रत्येक पंक्ति के लिए एक पंक्ति हटा दी गई थी, एक लाइन जोड़ा गया था (आप यूनिक्स diff स्थापित सिस्टम पर svn diff --diff-cmd diff -x -w -x -u -rOldRev:NewRev के साथ diff पर svn को अनदेखा कर सकते हैं)। फिर, आप उनकी तुलना कर सकते हैं। यूनिफाइड डिफ को शिकारी (फाइल के विभिन्न हिस्सों को बदला गया) में व्यवस्थित किया जाएगा, जो @@ से शुरू होने वाली लाइनों से अलग हो जाते हैं, और आप प्रत्येक हंक के लिए कह सकते हैं कि लाइनों की कम संख्या और हटाई गई रेखाओं की संख्या बदल गई थी, और प्रत्येक जोड़ा लाइन के लिए एक हंक में हटाए जाने से अधिक, एक लाइन जोड़ा गया था, और प्रत्येक पंक्ति के लिए एक हंक में जोड़े गए से अधिक हटा दिया गया था, एक लाइन हटा दी गई थी। सही नहीं है, लेकिन आपके मूल्यांकन के लिए अपेक्षाकृत अच्छा है।

एक और नोट: यदि आप प्रोग्रामर का मूल्यांकन करने के लिए इसका उपयोग कर रहे हैं, तो सावधान रहें। एलओसी सापेक्ष प्रभावशीलता को मापने का एक शानदार तरीका नहीं है।

+0

क्या कोई मेरे लिए उपरोक्त प्रतिक्रियाओं में से किसी एक को स्क्रिप्टिंग करना चाहेगा? मुझे कम से कम 100 फाइलों के लिए डेटा प्राप्त करना है। [कृपया सलाह दें कि मुझे इसे एक भुगतान कार्य के रूप में विज्ञापन करना चाहिए] –

1

मैंने कार्य को हल करने की भी कोशिश की जैसे "कितनी लाइनें हटा दी गईं, जोड़ दी गईं या बस चयनित अवधि में बदल गईं"। तो मैंने सरल खोल स्क्रिप्ट लिखी (केवल लिनक्स के लिए)। यह कोड संशोधनों के बारे में कुछ sipmle आंकड़े इकट्ठा करता है। अधिक जानकारी और साझा स्क्रिप्ट आप यहां प्राप्त कर सकते हैं:

http://cyber-fall.blogspot.com/2011/10/tools-linux-svn-generate-statistic.html

आशा है कि यह आप के लिए और दूसरों के लिए मदद मिलेगी!

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