2010-10-26 5 views
8

(मैं एक नया जबरदस्ती उपयोगकर्ता हूँ, लेकिन अतीत में अन्य स्रोत कोड नियंत्रण सिस्टम के बहुत इस्तेमाल किया है।)मैं कैसे देख सकता हूं कि किसी शाखा में Perforce में एक बग फिक्स है या नहीं?

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

हालांकि मैं एक आसान तरीका सभी शाखाओं किसी दिए गए बग फ़िक्स में विलय कर दिया, या सभी बग फिक्स है कि किसी भी शाखा में विलय कर दिया गया है खोजने के लिए किया गया है खोजने के लिए नहीं देख सकता।

जहां तक ​​मैं बलदाताओं को बता सकता हूं, सभी शाखाओं को ट्रैक नहीं करता है, एक परिवर्तन सूची में विलय हो गया है। जैसा कि मैं इसे समझता हूं, जब बल में एक विलय किया जाता है तो इतिहास को लक्ष्य शाखा में कॉपी नहीं किया जाता है, इसलिए परिवर्तन सूची में टिप्पणी में लक्ष्य में लक्ष्य का एकमात्र इतिहास विलय किया गया था।

मुझे क्या याद आ रही है?

उत्तर

14

पर्सफोर्स ट्रैक करता है जहां फ़ाइल के संशोधन एकीकृत किए गए हैं, लेकिन यह स्वचालित रूप से आपके बग-ट्रैकिंग मेटाडेटा के साथ चेक-इन टिप्पणियों का प्रचार नहीं करता है।

किसी विशेष शाखा पर एक परिवर्तक को देखते हुए, आप यह बता सकते हैं कि पर्सफोर्स सोचता है कि चेंजलिस्ट को चेंजलिस्ट को एकीकृत करने के लिए पर्सफोर्स से पूछकर एकीकृत किया गया है। (मैं इन दो स्रोत कोड पेड़ों के बीच एकीकरण के मार्ग का मतलब है कि विशिष्ट पर्सफोर्स अर्थ के बजाय स्रोत कोड पेड़ की एक विशेष शाखा का मतलब है, अधिक पारंपरिक स्रोत-नियंत्रण भावना में "शाखा" का उपयोग कर रहा हूं।) चलो मान लें कि आप //source/project/trunk/... में काम कर रहे हैं और आपके पास एक चेंजलिस्ट @ 1234 है जिसे आप देखना चाहते हैं कि इसे आपकी रिलीज शाखा //source/project/rel/... में एकीकृत किया गया है या नहीं। एक ग्राहक है कि //source/project/rel/... नक्शे बनाएँ और निष्पादित करें:

$ p4 integrate -n //source/project/trunk/[email protected],1234 //source/project/rel/... 

लाज़िमी आपको बताता है, तो "सभी संशोधन (रों) पहले से एकीकृत।", परिवर्तन सूची @ 1234 एकीकृत किया गया है, और है कि बग सुधार रिलीज शाखा पर उपलब्ध होना चाहिए। यदि पर्सफोर्स उन फ़ाइलों को सूचीबद्ध करता है जो बदले हैं, तो उन फ़ाइलों को एकीकृत नहीं किया गया है। (कुछ फ़ाइलों के लिए यह भी संभव है कि परिवर्तक को एकीकृत किया जा सके और दूसरों को नहीं, जो कुछ रोचक समस्याओं के लिए बना सकते हैं।)

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

आप एक शाखा से दूसरे में एक परिवर्तक को एकीकृत नहीं किया गया है, इसके बारे में त्वरित विचार प्राप्त करने के लिए आप "असमर्थित" Perforce कमांड interchanges का उपयोग कर सकते हैं। (पर्सफोर्स पैरालांस में, "असमर्थित" का अर्थ है "कुछ अगले संशोधन में ऐसा ही नहीं हो सकता है, लेकिन हमें लगता है कि यह उपयोगी हो सकता है ताकि हम इसे जारी कर सकें।") यह देखने के लिए कि कौन से परिवर्तनकर्ता हमारे द्वारा एकीकृत नहीं किए गए हैं उदाहरण के ट्रंक शाखाओं को रिहा करने, निष्पादित करें:

$ p4 interchanges //source/project/trunk/... //source/project/rel/... 
Change 1236 on 2010/10/10 by [email protected] 'Fixed some bug you don't care about' 
Change 1235 on 2010/10/09 by [email protected]_client 'Fixed some other random bug' 

इस उदाहरण में, मैं सूचीबद्ध नहीं किया है @ 1234 परिवर्तन सूची क्योंकि यह पहले से ही रिलीज शाखा में एकीकृत किया गया है। एक समस्या जिसे मैंने interchanges का उपयोग करके अनुभव किया है, यह एक एकीकृत परिवर्तन के बाद हर नए संशोधन की सूची देगा, भले ही नए संशोधन स्वयं एकीकृत किए गए हों, इसलिए यदि आप रिलीज शाखा के लिए चेरी-पिकिंग संशोधन कर रहे हैं तो आप फिर से सूचीबद्ध परिवर्तकों को देख सकते हैं । मैं interchanges का उपयोग पहली बार के रूप में करता हूं ताकि मुझे एकीकृत करने की आवश्यकता हो, तो integrate पर ध्यान दें कि वास्तव में क्या गुम है इसका बेहतर विचार प्राप्त करें।

(पर्सफोर्स "नौकरियों" की एक समान अवधारणा का भी समर्थन करता है, जो किसी को विशेष परिवर्तनों को विशेष सुधारों को संलग्न करने देता है, लेकिन मेरा संगठन उनका उपयोग नहीं करता है, इसलिए मुझे नहीं पता कि वे कितनी अच्छी तरह से काम करते हैं या फिर वे स्वचालित रूप से प्रचारित होते हैं या नहीं एकीकरण पर।)

+1

ग्रेट उत्तर। * प्रैक्टिकल पर्सफोर्स [http://www.amazon.com/Practical-Persforce-Laura-Wingerd/dp/0596101856) (अध्याय 8) के कोडलाइन वाई? * अनुभाग में * बग एक्स फिक्स्ड में भी अधिक जानकारी मिल सकती है (अध्याय 8)। –

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

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