2015-12-14 9 views
6

this link के समान लेकिन Mercurial के लिए। मैं उन फ़ाइलों को ढूंढना चाहता हूं जो मेरे Mercurial भंडार के आकार में सबसे अधिक योगदान कर रहे हैं।Mercurial रिपोजिटरी में बड़ी फ़ाइलें ढूँढना

मैं एक नया, छोटा भंडार बनाने के लिए एचजी कन्वर्ट का उपयोग करना चाहता हूं। मुझे अभी तक यकीन नहीं है कि कौन सी फाइलें भंडार आकार में योगदान दे रही हैं। वे ऐसी फाइलें हो सकती हैं जो पहले ही हटा दी गई हैं।

भंडार इतिहास में कहीं भी इन्हें ढूंढने का एक अच्छा तरीका क्या है? 20,000 से अधिक काम करता है। मैं एक पावरहेल स्क्रिप्ट सोच रहा हूं, लेकिन मुझे यकीन नहीं है कि इसके बारे में जाने का सबसे अच्छा तरीका क्या है।

उत्तर

7

hg help fileset देखें। कुछ

hg files "set:size('>1M')" 

आपके लिए चाल चलाना चाहिए। आपको सभी संशोधनों पर काम करने की आवश्यकता हो सकती है, हालांकि यह केवल एक संशोधन पर काम करता है। बैश में मैं

for i in `hg log -r"all()" "set:size('>400k')" --template="{rev}\n"`; do hg files -r$i "set:size('>400k')"; done | sort | uniq 

कुछ ऐसा करने की कोशिश करेगा। हो सकता है कि इसे अनुकूलित किया जा सके क्योंकि यह वर्तमान में थोड़ा सा डुप्लिकेशंस है और काफी हद तक चल सकता है; ओपनटीटीडी रिपोजिटरी पर 22000 के साथ यह मेरे लैपटॉप पर बस 10 मिनट से कम समय लेता है।

+1

धन्यवाद (इसके अलावा templates, files और grep पर एचजी मदद की जाँच), कि चमत्कार काम करता है। मैं खिड़कियों का उपयोग कर रहा हूँ। पूर्णता के लिए पावरहेल स्क्रिप्ट 'hg log -r "है()" "सेट: आकार ('> 1024k ')" --template = "{rev} \ n" | Foreach {hg files -r $ _ "सेट: आकार ('> 1024k')" >> results.txt; get-content results.txt | सॉर्ट | get-unique> results2.txt; निकालें- आइटम results.txt; मूव-आइटम परिणाम 2.txt results.txt} 'और बैट फ़ाइल '/ f% i के लिए' ('hg log -r" all() "" सेट: आकार ('> 1024k ') "--template = "{rev} \ n" ') DO hg फ़ाइलें -r% i "सेट करें: आकार ('> 1024k ')" >> results.txt' (जो सॉर्ट/फ़िल्टर नहीं करता है) – Michael

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