जवाबों:
hg commit --close-branch
एक शाखा को बंद करने के लिए पर्याप्त होना चाहिए। (देखें hg commit
)
--close-branch
शाखा को बंद के रूप में चिह्नित करें, इसे शाखा सूची से छिपाएं।
इस धागे को भी देखें :
मेरी अपेक्षा यह है कि मैं एक शाखा को बंद कर दूं क्योंकि विकास की यह रेखा समाप्त हो चुकी है, और मैं किसी और से परेशान नहीं होना चाहता।
इसलिए, जब एक शाखा को बंद कर दिया गया है, तो मुझे इसे नहीं देखना चाहिए (शाखाओं में, सिर, लॉग, उदाहरण के लिए) जब तक मैं स्पष्ट रूप से बंद शाखाओं को देखने के लिए नहीं कहता।मुझे ध्यान देना चाहिए कि मुझे उम्मीद है कि एक बंद शाखा भंडार में बनी रहेगी; यह भविष्य में उपयोगी हो सकता है, और
commit --close-branch
संदेश को कम से कम यह स्पष्ट करना चाहिए कि शाखा क्यों बंद की गई थी।
शाखाओं को तोड़ना पूरी तरह से एक और बात है।
ध्यान दें: "क्लोजिंग ब्रांच" व्यवसाय एक पहलू है जिसे गिट में गायब होने के रूप में देखा जाता है, जब मर्क्यूरियल की तुलना में :
Git में शाखाएँ हैं, हमें हमेशा बताया जाता है, उपयोग की जाने वाली पुरानी चीजें और फेंक दी जाती हैं, और जहाँ तक मुझे पता है कि git के पास आपके सहकर्मियों को यह संकेत करने का कोई तरीका नहीं है कि आप एक शाखा के साथ काम कर रहे हैं;
ऐसा करने का एकमात्र तरीका इसे हटाना है, या आशा है कि वे अंतिम मर्ज कमिटमेंट को देखते हैं और समझते हैं कि शाखा आगे के विकास के लिए बंद है।[मर्क्यूरियल में] जब आप एक शाखा के साथ काम करते हैं, हालाँकि, आप इसे भंडार से हटा नहीं सकते हैं; इसके बजाय, आप एक कमिट जारी करते हैं जो शाखा को बंद कर देता है, और मर्क्यूरियल नोट करता है कि शाखा बंद है। यह आपके भंडार इतिहास का एक स्थायी हिस्सा रहेगा।
hg debugsetparent <revision>
hg branch <branchOfRevision>
ध्यान दें कि आदेश महत्वपूर्ण है। यह आपके रेपो को लगता है कि यह नए संशोधन पर है, जबकि आपकी सभी फाइलें प्रारंभिक एक से हैं। उसके बाद, आप --close- शाखा प्रतिबद्ध का उपयोग कर सकते हैं, लेकिन खाली प्रतिबद्ध बनाने के लिए -X * विकल्प का उपयोग करें। hg commit --close-branch -X * -m "Closing branch."
मैंने एक साधारण स्क्रिप्ट लिखी जो शाखा के करीब पहुंचती है , PruningDeadBranches पर मिलने वाली कमांड ।
#!/bin/bash
#script to close the not required branch in mercurial
hg up -C $1
if [ $? -eq 0 ]; then
echo "$1 is up"
else
echo "branch not found, please recheck your argument"
exit 1
fi
# if we are here then the branch is up, so we do the following
hg commit --close-branch -m 'this branch no longer required'
echo "$1 is closed"
hg up -C default
echo "default is up"
रिपॉजिटरी की स्थानीय कॉपी पर जाएं, और एक तर्क देकर इस स्क्रिप्ट को चलाएं। उदाहरण के लिए:
$./the_script_above.sh bad_branch_name_to_close
यह निम्न कार्य करता है:
$ hg update yourbranchnamecontainingspace
। मुझे लगता है कि हम अंतरिक्ष के साथ एक शाखा का निर्माण कर सकते हैं, हालांकि जब आप अद्यतन जैसी व्यापारिक कमांड चलाते हैं, तो आपको एक पार्स त्रुटि मिलती है । आप स्क्रिप्ट के पैरामीटर के रूप में शाखा का नाम पारित करते समय अंतरिक्ष चरित्र से बचने पर विचार करना चाह सकते हैं। चीयर्स।
echo "$1 is up"
यहाँ डुप्लिकेट नहीं है? में then
और बाद में fi
? इसके अलावा, इस तरह की स्क्रिप्ट मददगार हो सकती है यदि एक बार में डिफ़ॉल्ट रूप से विलय करने के विकल्प का समर्थन करता है