प्रत्येक परिवर्तन में कितना परिवर्तन हुआ यह मापने के लिए देख रहे हैं। दो संशोधन के बीच शायद केबी diff सूची करने के लिए कोई त्वरित तरीका?Mercurial परिवर्तनों की सूची SIZE?
उत्तर
hg log --stat
वह आदेश है जिसके बाद आप हैं। यह उदाहरण देखें:
$ hg log --stat
changeset: 12431:56e146c7beef
user: flast
date: Wed Jun 08 16:12:54 2011 +1000
summary: Fix the frobulate to frob the knob correctly on tuesdays.
path/to/src/frob/interface.py | 29 ++++++++++++++++++++---------
path/to/tests/systest_frob.py | 14 ++++++++++++++
2 files changed, 34 insertions(+), 9 deletions(-)
मेरे पास कल ही यही विचार था! मैंने a quick and dirty Python script लिखा है जो कुल फ़ाइल आकार परिवर्तन को निर्धारित करने के लिए stdin पर एक एकीकृत diff या कमांड लाइन पर फ़ाइलों के रूप में लिखा है। एक changeset के लिए यह करने के लिए, तुम सिर्फ कर सकता है:
hg diff -c <cset id> | patchsize.py
त्वरित और इस अर्थ में कि यह शायद प्लेटफ़ॉर्म-विशिष्ट लाइन अंत के लिए खाते में नहीं है, और यह विशेष रूप से चतुराई से डिफ पार्स नहीं करता है में गंदा। लेकिन यह मेरे उद्देश्यों के लिए काफी करीब है।
'एचजी लॉग --स्टैट -आर सीसेट-आईडी' – Jerub
हाँ, मैं इसे हर समय उपयोग करता हूं। लेकिन यह केवल लाइन सम्मिलन और हटाने के रूप में जाता है; मैं एक पैच द्वारा प्रस्तुत फ़ाइल आकार में कुल परिवर्तन के बारे में उत्सुक था। – shambulator
मेरे पास कल @ शंबूलेटर जैसा ही विचार था! इसलिए मैंने somewhat long and clean patch.py उपयोगिता से --diffstat
आउटपुट के हिस्से के रूप में delta size in bytes मुद्रित करने की क्षमता जोड़ा है।
wget http://python-patch.googlecode.com/svn-history/r200/trunk/patch.py
hg diff -c tip | python patch.py --diffstat --
codereview/views.py | 28 ++++++++++++++++++++++++++++
index.yaml | 10 ++++++++++
2 files changed, 38 insertions(+), 0 deletions(-), +1267 bytes
युपीडी: धन्यवाद @Gili और @mforbes वहाँ अब के लिए मर्क्युरियल
https://bz.mercurial-scm.org/show_bug.cgi?id=4245
एक टिकट शायद एक आकार की जाँच करने के hg bundle
का उपयोग कर सकते है? (मैं जाँच की है नहीं कैसे लगातार इस कुल भंडार आकार की दृष्टि से है।)
function revsize() {
hg bundle -r $1 --base "p1($1)+p2($1)" /dev/stdout | wc -c
}
यह कैसे काम करता एक बंडल पैदा करने के बाद
इस आकार की गणना करता है (बाइट्स में) wc -c
का उपयोग कर संशोधन REV = $1
(बैश फ़ंक्शन के लिए पहला तर्क) और its parents"p1(REV)+p2(REV)"
(यदि यह विलय हो तो दो हो सकते हैं।) के रूप में /dev/stdout
फ़ाइल के रूप में उपयोग करके, परिणाम मानक को भेजा जाता है जहां इसे पाइप किया जा सकता है फ़ाइल बनाने के बिना wc -c
डिस्क।
ध्यान दें कि डिफ़ॉल्ट रूप से, बंडल bzip2 का उपयोग करके संपीड़ित होते हैं। कोई संपीड़न के लिए, "-t none" का उपयोग करें (ऊपर जुड़े एचजी बंडल दस्तावेज़ देखें)। – Kim
@ किम क्या आप जानते हैं कि अंतर डिस्क पर संकुचित किए गए हैं या नहीं? यदि नहीं, तो '' कोई भी नहीं 'शायद सबसे अच्छा है, लेकिन इसे सभी को कुछ परीक्षण (या एक आधिकारिक स्रोत) की आवश्यकता है। – mforbes
इस प्राचीन [उत्तर] के अनुसार (http://stackoverflow.com/a/1270485/3387608) , प्रारंभिक फ़ाइलें संपीड़ित हैं, लेकिन diffs असंपीड़ित हैं। मैंने इसे स्वतंत्र रूप से सत्यापित नहीं किया है या हालांकि हाल ही में एक और पुष्टि मिली है। – Kim
यह केबी diff नहीं दिखाता है। –