2013-07-03 6 views
5

मैं किसी विशेष फ़ाइल में सभी परिवर्तनों का पता लगाने के लिए TortoiseHg (या सादा एचजी अगर कोई अन्य संभावना मौजूद नहीं है) के साथ एक रास्ता तलाश रहा हूं।नामित शाखा में सभी परिवर्तनों को खोजें जहां फ़ाइल "एक्स" संशोधित की गई थी (विलय समेत)

मैंने एक संशोधन सेट क्वेरी का उपयोग करने का प्रयास किया है: merge() and file("path/to/filename.cs") लेकिन मुझे वह नहीं मिला जो मैं ढूंढ रहा हूं। यह एक खाली सेट देता है। मुझे लगता है कि ऐसा इसलिए है क्योंकि merge() केवल विलय लौटाता है, और file() केवल (प्रतीत होता है) गैर-विलय लौटाता है, इसलिए चौराहे खाली है।

मैं भी modifies(pattern) की कोशिश की है, लेकिन वह पर्याप्त रूप से अलग file(pattern) से प्रकट नहीं होता है (file() की तरह मुझे लग रहा है adds() और modifies() का मिलन है)। contains(pattern) किसी भी तत्व को वापस नहीं करता है।

तो, क्या उन परिवर्तनों की एक सूची प्राप्त करना संभव है जिसमें किसी विशेष फ़ाइल को किसी भी तरीके से संशोधित किया गया है?

उत्तर

4

ऐसा लगता है कि "कैसे मेरे परिवर्तन इस शाखा में मिला" समस्या में चला रहे हैं में फ़िल्टर Tooolbar में प्रवेश किया जा सकता है। जब आप किसी शाखा में एक परिवर्तन को मर्ज करते हैं, तो Mercurial इसे एक परिवर्तन के रूप में रिकॉर्ड नहीं करता है। इसके बजाए, यह एक नोट बनाता है कि विलयित परिवर्तन अब गंतव्य शाखा का हिस्सा है। विलय का एकमात्र समय यह दिखाएगा कि एक फ़ाइल संशोधित की गई थी, यदि कोई विलय संघर्ष होता है, जिसके परिणामस्वरूप एक नया परिवर्तन होता है।

यह पता लगाना कि किस शाखा में शाखा में बदलाव आया है, वह दो चरण की प्रक्रिया है। सबसे पहले, आपको उन परिवर्तनों को ढूंढना होगा जहां आप रुचि रखते हैं। सभी परिवर्तन सेट है कि खोजने के मामले में

hg log -r "first(branch(<BRANCH>) and descendants(<REVISION>))" 
+0

बहुत धन्यवाद। कभी-कभी आप जवाब नहीं देख सकते हैं। किसी भी खोज के बावजूद, मैं इस पर कभी नहीं आया। मैं आपके उत्तर की सराहना करता हूं, साथ ही डुप्लिकेट के लिंक भी। – reidLinden

0

hg log -r "branch(BRANCH) and file('PATTERN')"

Revset का भी इस्तेमाल किया और THG Workbench

0
hg log grep name_of_your_file 

मेरे लिए काम कर देता है:

hg log -r "file('<PATTERN>') 

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

thg log name_of_your_file 
संबंधित मुद्दे