Mercurial-सभी फ़ाइलों जो एक परिवर्तन में बदल गया?




diff changeset (5)

किसी दिए गए परिवर्तन में बदले गए सभी फ़ाइलों को आप कैसे निर्धारित कर सकते हैं?

मैं इस मामले में एक अंतर की तलाश नहीं कर रहा हूं, बस जोड़ने / निकालने / संशोधनों की एक सूची।

hg log -vprX diffs की एक सूची करता है लेकिन मुझे बस फाइल चाहिए।


वर्तमान प्रतिबद्ध संशोधन

hg status --change .

. वर्तमान संशोधन के लिए @HEAD , बस @HEAD में @HEAD तरह

वर्तमान अनुमत संशोधन

hg status

मनमानी प्रतिबद्ध संशोधन

hg status --change REV_ID

इसी तरह की अवधारणा के लिए गूगलिंग के माध्यम से इस सवाल को मिला। कई फ़ाइलों को दिखाने के लिए जो कई प्रकार के परिवर्तनों के माध्यम से बदलते हैं, यह उतना आसान है जितना:

hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" | sed -e 's/ /\n/g' | sort -d | uniq
  1. hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" आपको प्रत्येक प्रारंभ में परिवर्तित या जोड़े गए प्रत्येक फ़ाइल की एक सूची दिखाएगी, [प्रारंभ rev] से [end rev ], प्रत्येक बदलाव की फाइलों के साथ एक नई लाइन पर। संशोधित, जोड़ा, या हटाए गए सभी फ़ाइलों को दिखाने के लिए {file_mods}{file_adds} साथ {file_mods}{file_adds} को स्वैप करें।
  2. sed -e 's/ /\n/g' अलग-अलग लाइनों पर दिखाने के लिए सभी फ़ाइलों को विभाजित करेगा
  3. sort होगा, एर, आपके लिए सूची सॉर्ट करें ताकि हम सूची को यूनिक के साथ फ़िल्टर कर सकें
  4. uniq एक से अधिक संशोधन में परिवर्तित डुप्लीकेट-फ़ाइलों को हटाने के लिए सूची फ़िल्टर करेगा।

मुझे पता है कि प्रश्न एक ही बदलाव के लिए है, लेकिन यदि आप कई फाइलों को संशोधित करने के लिए संशोधित करना चाहते हैं, तो आप कर सकते हैं

hg status --rev 1 --rev 10 -m

मुझे पता है कि यह सवाल एक पुराना सवाल है और मुझे आश्चर्य है कि किसी ने अभी संशोधित कोड फॉर्म ओपी की पेशकश नहीं की है। मुझे संशोधित / जोड़ा / हटाई गई फ़ाइलों की सूची मिली है (लेबल नहीं है जो कि हालांकि है) बस hg log -v चलाकर। या मुझे वास्तव में पिछली 5 प्रतिबद्धताओं में संशोधित / जोड़ा / हटाए गए फ़ाइलों को देखने के लिए hg log -v -l5 आवश्यकता है (जिनमें से मैंने अभी तक रेपो को धक्का नहीं दिया है)।


यदि आप केवल उन फ़ाइलों को सूचीबद्ध करना चाहते हैं जो बदले गए हैं तो आपको "स्टेटस कमांड" का उपयोग करना चाहिए निम्नलिखित में संशोधन आरईवी में फ़ाइलों में परिवर्तनों की सूची होगी

hg status --change REV




changeset