2012-04-24 14 views
7

मैं कैसे देख सकता हूं, यदि परिवर्तनसेट पहले ही शाखाएक्स और डिफ़ॉल्ट के बीच तैयार किया गया है? मुझे पता है, एचजी भ्रष्टाचार मेरे लिए यह जांचता है, वहां मैं दो बार भ्रष्टाचार नहीं कर सकता, लेकिन मैं सभी परिवर्तनों को सूचीबद्ध करना चाहता हूं, जिन्हें शाखाएक्स और डिफ़ॉल्ट के बीच नहीं बनाया गया था। आपके उत्तरों के लिए अग्रिम धन्यवाद।Mercurial में कैसे निर्धारित करें, यदि संशोधन द्वारा संशोधित, संशोधित, पहले से ही तैयार किया गया है?

उत्तर

6

यह जानकारी भ्रष्ट परिवर्तन के अंदर तथाकथित "अतिरिक्त" शब्दकोश में संग्रहीत है। यह एक साधारण कुंजी-मूल्य मैपिंग है जिसे आप hg log --debug के साथ देख सकते हैं।

जानकारी दुर्भाग्य से अभी तक एक revset विधेय के रूप में सामने आ रहा है नहीं है, तो आप इसे पुराने तरीके से करना होगा:

$ hg --debug log -b branchX 

के साथ शुरू branchX पर changesets मिलता है। तब grep या अन्यथा मिलान

extra:  source=[0-9a-f]{40} 

आप Mercurial bindings इस्तेमाल कर सकते हैं यदि आप एक और अधिक उच्च स्तरीय पहुंचना चाहते हों लाइनों के लिए खोज करते हैं। इस समय जावा, पायथन और स्कैला के लिए पुस्तकालय हैं।

+0

मैंने 'लॉग' कमांड में '--debug' विकल्प जोड़ा, जो भ्रमित था। – unwind

6

आप एक revset उपयोग कर सकते हैं यह करने के लिए यदि आप मर्क्युरियल 2.3 या नए हैं: changesets कि ग्राफ्ट के लिए गंतव्य हैं के सभी की एक सूची प्राप्त करने के लिए

$ hg log -r "destination()" 

। आप यह भी कर सकते हैं:

$ hg log -r "origin()" 

भ्रष्टाचार उत्पत्ति वाले सभी परिवर्तनों की सूची प्राप्त करने के लिए। ये revsets दोनों तर्क के रूप में एक और पुनरावृत्ति लेते हैं, तो आप अपनी खोज में ड्रिल करने के लिए composable revsets की पूरी शक्ति का उपयोग कर सकते हैं।

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

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