क्या कोई Mercurial कमांड है जिसे आप hg pull
के बाद उपयोग कर सकते हैं ताकि सभी फ़ाइलों की सूची देखने के लिए मैन्युअल रूप से विलय की आवश्यकता हो (यानी: जिनके पास संघर्ष हो) hg merge
करते समय?Mercurial - फ़ाइलों की सूची देखें जिन्हें मैन्युअल रूप से विलय करने की आवश्यकता है?
उत्तर
hg resolve --list
documentation से: विलय विन्यास की स्थापना, या diff3 की तरह एक कमांड लाइन मर्ज उपकरण:
अनसुलझे संघर्षों के साथ बनाए गए अक्सर आंतरिक का उपयोग कर गैर-सहभागी विलय का परिणाम है। संकल्प कमांड का उपयोग मर्ज में शामिल फ़ाइलों को प्रबंधित करने के लिए किया जाता है, एचजी विलय चलाने के बाद, और एचजी प्रतिबद्ध चलाने से पहले (यानी कार्यशील निर्देशिका में दो माता-पिता होना चाहिए)।
संपादित करें 5 जनवरी 2012:
(। मैं इस सवाल का जवाब आज तो मैं यह दोबारा गौर के लिए एक ऊपर मत प्राप्त मुझे पता चला कि मैं सवाल गलत समझा।)
सवाल यह है कि "मैंने रिमोट रिपोजिटरी से एक पुल किया है और अभी तक ने विलय नहीं किया है। क्या मैं देख सकता हूं कि मर्ज करने के बाद कौन से संघर्ष बनाए जाएंगे?"
मेरा उत्तर स्पष्ट रूप से गलत है। लिंक किए गए दस्तावेज़ों के माध्यम से पढ़ने के बाद, मुझे नहीं लगता कि ऐसा करने के लिए एक अंतर्निहित विधि है। हालांकि, आपके कामकाजी स्रोत पेड़ को बर्बाद किए बिना ऐसा करने का एक तरीका है।
मान लेते हैं कि आप अपने स्थानीय सिस्टम पर बी भंडार करने के लिए कुछ दूरदराज के स्रोत से एक भंडार क्लोन है, यानि कि hg clone http://hg.example.com/A B
करते हैं। ऐसा करने के बाद, आप अपने स्थानीय भंडार में परिवर्तन करते हैं, बी, जिसमें कम से कम एक प्रतिबद्धता शामिल है। इस बीच, भंडार ए में परिवर्तन किए गए हैं ताकि जब आप एक पुल करते हैं तो आपको एक संदेश मिलता है कि नए बदलाव जोड़े गए हैं और सिर बनाए गए हैं।
इस बिंदु पर, आप विलय में शामिल होने वाले दो परिवर्तनों को सूचीबद्ध करने के लिए hg heads
कर सकते हैं। इस जानकारी से, आप सिर के बीच अंतर सूचीबद्ध करने के लिए एक स्टेटस कमांड जारी कर सकते हैं। हेड सूची के अनुसार, आपके भंडार बी में संशोधन संख्या मानते हुए, "1" और "2" हैं, तो आप परिवर्तनों की सूची देखने के लिए hg status --rev 1:2
कर सकते हैं।
बेशक, यह वास्तव में आपको नहीं बताता है कि विवाद होने पर संघर्ष कब होगा। चूंकि कोई ऐसा आदेश नहीं है जो आपको यह दिखाएगा, आपको एक नए भंडार में क्लोन करके और विलय करके "विलय" करना होगा। तो, hg clone B C && cd C && hg merge
। यदि आप इस विलय के परिणाम से संतुष्ट हैं तो आप hg com -m 'Merging complete' && hg push && cd ../ && rm -rf C
कर सकते हैं।
यह एक प्रक्रिया है, लेकिन अगर यह विलय आपदा हो जाता है तो यह आपके वर्तमान स्रोत पेड़ को साफ रखता है। सार्वजनिक रिपॉजिटरीज़ के साथ काम करने के लिए आपको this description भी मिल सकता है।
मेरा पहला जवाब गलत था। –
मैंने इस तरह से प्रश्न को गलत तरीके से पढ़ा है, इसलिए आपका जवाब अभी भी मेरे लिए सही था। – MasterScrat
मुझे लगता है कि hg status
वह है जिसे आप ढूंढ रहे हैं।
आप मर्क्युरियल से इस अध्याय को पढ़ने के लिए चाहते हो सकता है: यह निश्चित गाइड
एचजी स्थिति सभी संशोधित फ़ाइलों के लिए "एम" दिखाती है, चाहे संघर्ष में हों या नहीं। हालांकि एचजी संकल्प --सूची वास्तव में काम करता है। –
आप संशोधन की एक जोड़ी के साथ एचजी स्टेट की --rev विकल्प का उपयोग कर सकते हैं क्या फ़ाइल को देखने के लिए दोनों के बीच मतभेद मौजूद हैं। एक से थोड़ा वर्बोज़ लेकिन विस्तृत उदाहरण के लिए नीचे देखें:
पहले हम शुरू एक नया भंडार बनाने के द्वारा: अब
[gkeramidas /tmp/foo]$ echo foo > foo.txt
[gkeramidas /tmp/foo]$ hg commit -Am 'add foo'
adding foo.txt
[gkeramidas /tmp/foo]$ hg glog
@ 0[tip] b7ac7bd864b7 2011-01-30 18:11 -0800 gkeramidas
add foo
:
[gkeramidas /tmp]$ hg init foo
[gkeramidas /tmp]$ cd foo
तो एक भी नया भंडार करने के लिए कहा जाता है foo.txt
फ़ाइल जोड़ने bar.txt
नामक दूसरी फ़ाइल जोड़ें, संशोधन 1:
[gkeramidas /tmp/foo]$ echo bar > bar.txt
[gkeramidas /tmp/foo]$ hg commit -Am 'add bar'
adding bar.txt
पुनरीक्षण 0 पर वापस जाएं, और एक अलग फ़ाइल जोड़ें, एक अलग हेड पर। यह किसी और से एक पुल जो इसके शुरू होने वाले संशोधन पर एक ही भंडार क्लोन था अनुकरण करने के लिए किया जाता है:
[gkeramidas /tmp/foo]$ hg up -C 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[gkeramidas /tmp/foo]$ echo koko > koko.txt
[gkeramidas /tmp/foo]$ hg commit -Am 'add koko'
adding koko.txt
created new head
[gkeramidas /tmp/foo]$ hg glog
@ 2[tip]:0 e5d80abdcb06 2011-01-30 18:12 -0800 gkeramidas
| add koko
|
| o 1 a2d0d0e66ce4 2011-01-30 18:12 -0800 gkeramidas
|/ add bar
|
o 0 b7ac7bd864b7 2011-01-30 18:11 -0800 gkeramidas
add foo
अब तुम क्या फ़ाइल मतभेद संशोधन के किसी भी जोड़े के बीच मौजूद देखने के लिए एचजी स्टेट उपयोग कर सकते हैं, जैसे रेव 0 से परिवर्तन फिरना करने के लिए 1 फ़ाइल सूची में जोड़ा 'bar.txt':
[gkeramidas /tmp/foo]$ hg stat --rev 0:1
A bar.txt
रेव 0 से rev2 में परिवर्तन जोड़ा फ़ाइल सूची में 'koko.txt':
[gkeramidas /tmp/foo]$ hg stat --rev 0:2
A koko.txt
लेकिन अधिक दिलचस्प बात यह है कि संशोध 1 से संशोधित 2 में परिवर्तन दो फ़ाइल मेनिफेस्ट परिवर्तन शामिल हैं। (1) 'koko.txt' रेव 2 में जोड़ा गया है, और (2) 'bar.txt' रेव 1 में मौजूद है, लेकिन राजस्व 2 से लापता है, तो यह एक 'हटाया' फ़ाइल के रूप में दिखाता है:
[gkeramidas /tmp/foo]$ hg stat --rev 1:2
A koko.txt
R bar.txt
जब तक कि मैं इसे स्वयं गलत तरीके से पढ़ रहा हूं, ऊपर दिए गए उत्तरों को उस प्रश्न का समाधान नहीं लगता है जो मुझे लगता है: मेरे पास मेरी रिपोजिटरी में दो शाखाएं हैं जिन्हें मैं विलय करना चाहता हूं, और मैं चाहता हूं पता है कि संघर्ष क्या होगा (उदाहरण के लिए, संघर्ष संकल्पों के माध्यम से एक-एक करके कदम उठाने से पहले।)
ऐसा करने के लिए, मैं :merge3
टूल (जो स्वचालित रूप से विलय करने का प्रयास करता है, लेकिन confl छोड़ देता है) आईसीटीएस अनसुलझा) और फिर hg resolve --list
का उपयोग करें - या विवादों को देखने के लिए बस मर्ज कमांड के आउटपुट को देखें।
hg merge <otherbranch> --tool :merge3
hg resolve -l
आप वास्तव में अंत में विलय करने के लिए आप hg update -C
बाद में चला सकते हैं मर्ज पूर्ववत करने के लिए (यदि आपने अभी क्या संघर्ष होता देखना चाहते हैं) नहीं करना चाहता था, तो।
आप मर्ज खत्म करना चाहते हैं, तो आप प्रत्येक फ़ाइल के लिए hg resolve <filepath>
चला सकते हैं, या बस hg resolve --all
आप hg commit
मर्ज changeset से पहले सभी कि संघर्षों के साथ रहने से निकलने के लिए,।
- 1. डिस्चेक और परीक्षण करें जिन्हें इनपुट फ़ाइलों की आवश्यकता है
- 2. क्या मुझे asp.net में ईवेंट (मैन्युअल रूप से सदस्यता) से सदस्यता समाप्त करने की आवश्यकता है?
- 3. क्या मुझे ifstream मैन्युअल रूप से बंद करने की आवश्यकता है?
- 4. क्या मुझे इनपुट स्ट्रीम को मैन्युअल रूप से बंद करने की आवश्यकता है?
- 5. ओपन स्टोरीबोर्ड मैन्युअल रूप से देखें
- 6. पूरी तरह से मैनुअल Mercurial विलय
- 7. Mercurial परिवर्तनों की सूची SIZE?
- 8. को timedelta ऑब्जेक्ट्स की सूची से औसत की आवश्यकता है
- 9. जावा वीएम जिन्हें ऑपरेटिंग सिस्टम की आवश्यकता नहीं है?
- 10. Mercurial में .ggtags स्वचालित रूप से कैसे विलय करें?
- 11. गतिशील रूप से फाइलों की आवश्यकता है?
- 12. Mercurial: डमी विलय
- 13. Mercurial: मुझे कभी-कभी अपडेट करने के बजाय पुल के बाद विलय करने की आवश्यकता क्यों होती है?
- 14. ड्रॉपडाउन से मूल्यों की सूची प्राप्त करें जिन्हें jquery
- 15. Mercurial - सभी विलय को अनदेखा कर शाखा में परिवर्तन देखें
- 16. क्या फायरबर्ड को मैन्युअल रीइंडेक्सिंग की आवश्यकता है?
- 17. मुझे क्लोजर फ़ाइलों की आवश्यकता और प्रदान करने की आवश्यकता कैसे है?
- 18. प्रोग्रामेटिक रूप से फ़्लिंग सूची देखें एंड्रॉइड
- 19. दो .ear फ़ाइलों की तुलना करने के लिए एक उपकरण की आवश्यकता है
- 20. क्या .dmg फ़ाइलों को हस्ताक्षरित करने की आवश्यकता है?
- 21. डिफ़ॉल्ट रूप से कम से कम Mercurial लॉग/स्थिति देखें
- 22. Django व्यवस्थापक: सशर्त रूप से फ़ील्ड प्रदर्शित करने की आवश्यकता
- 23. उस प्रोजेक्ट में कक्षाओं की सूची कैसे प्राप्त करें, जिन्हें उस परियोजना में किसी भी चीज की आवश्यकता नहीं है
- 24. gmake कई निर्देशिकाओं से ऑब्जेक्ट फ़ाइलों की सूची प्राप्त करें
- 25. क्या मैन्युअल विलय करने के बाद मुझे अपने प्रतिबद्ध संदेश में संघर्षों की सूची हटा दी जानी चाहिए?
- 26. एकाधिक जार फ़ाइलों की सूची
- 27. प्रोग्रामिक रूप से प्रमाणपत्र रद्द करने की सूची (सीआरएल)
- 28. एसडी कार्ड से (निर्देशिका पर) फ़ाइलों की सूची प्राप्त करने का एक अच्छा तरीका क्या है?
- 29. क्या मुझे मैन्युअल रीसेट इवेंट पर बंद() को कॉल करने की आवश्यकता है?
- 30. मैन्युअल रूप से
मुझे पता है कि यह लगभग एक वर्ष रहा है, लेकिन मुझे अभी एहसास हुआ कि मेरा जवाब आपके प्रश्न के लिए बिल्कुल सही नहीं था। मैंने इसे एक ऐसे उत्तर में अपडेट किया है जो संतोषजनक हो सकता है। –