2012-03-07 12 views
7

मैंने एक शाखा बनाई और पहली बार जब मैं स्रोत से शाखा में विलय करने गया, वहां पुराने बदलावों का पूरा समूह सामने आया था, जो कहता है कि विलय नहीं हुआ था लेकिन वे शाखा से पहले उपस्थित थे और मैं पुष्टि करता हूं कि वे थे क्या आप वहां मौजूद हैं।टीएफएस 2010: ब्रांचिंग - परिवर्तन क्यों कहते हैं कि जब वे शाखा से पहले थे तो उन्हें विलय नहीं किया गया था?

उदाहरण: कहें कि स्रोत में 9 परिवर्तन होने पर स्रोत से लक्ष्य तक ब्रांच किया गया है। बदलें 10 स्रोत में बनाया गया था। मैं स्रोत से लक्ष्य में विलय करने के लिए जाता हूं और टीएफएस मुझे बताता है कि 6 और 7 और 10 को विलय करने की आवश्यकता है (भले ही 6 और 7 ब्रांडेड होने से पहले थे और मैं पुष्टि कर सकता हूं कि उन परिवर्तनों में लक्ष्य हैं)

I टीएफएस में नया हूं और यह तब हुआ जब मैंने पहली बार ब्रांचिंग और विलय को लागू करना शुरू किया। मैंने बनाई गई नवीनतम शाखा ने ऐसा नहीं किया।

अभी हमारे पास एक ट्रंक है और फिर अगली रिलीज के लिए चालू क्यूए के लिए 1 शाखा और हॉटफिक्स से उत्पादन के लिए एक और शाखा है। यह क्यूए शाखा थी जिसमें इस मुद्दे का था लेकिन जब मैंने हॉटफिक्स शाखा बनाई तो यह ठीक था।

उत्तर

7

मैं इस बार कुछ बार आया हूं। अंत में मैंने स्रोत से लक्ष्य तक "दुष्ट" उम्मीदवार परिवर्तन-सेट को विलय कर दिया। मैंने लंबित विलय की जांच की और यह निर्धारित किया कि इसमें कोई बदलाव नहीं आया है। मर्ज करने के लिए इन उम्मीदवारों के बदलाव-सेट से छुटकारा पा लिया। मैंने सोचा कि अगर मैं काम नहीं करता तो मैं वापस रोल कर सकता हूं।

संपादित: ऐसा प्रतीत होता है अगर आप TFS 2010 तक उन्नत बनाया है, वहाँ एक बग है, जिनके कारण अतिरिक्त मर्ज उम्मीदवारों

"कोई भी एक शाखा पर आइटम है कि कई बार नाम दिया गया है या है (http://support.microsoft.com/kb/2135068 देखें) होगा कि कई अन्य सामान उनके नामस्थान पर कब्जा कर रहे थे (जोड़ों को जोड़/हटाएं) अन्य शाखाओं पर संबंधित वस्तुओं के साथ अपने रिश्तों को खो देंगे। "

एक संकल्प के रूप में, समर्थन लेख का कहना है:

"अतिरिक्त मर्ज उम्मीदवारों के साथ समस्या को हल करने/छोड़ें विकल्प इस्तेमाल किया जाना चाहिए ऐसा करने के लिए एक कमांड से निम्न स्वरूप की एक मर्ज चलाते हैं। रेखा:।

tf merge <source branch> <target branch> /r /discard:CXXX~CYYY

इस उदाहरण में, XXX और YYY बदलावों को छोड़ना के बाद इस मर्ज में चेक किया गया है, अवांछित उम्मीदवारों अब भविष्य का आपस में विलय के लिए दिखाई देगा की सीमा से changeset आईडी प्रतिनिधित्व करते हैं इसके अलावा। ध्यान रखें कि, इंप्रेशन के कारण टीएफएस 2010 में मर्ज एल्गोरिदम में ovements, स्रोत और लक्ष्य शाखाओं दोनों में हटाए गए आइटम परिणामस्वरूप विलय में परिवर्तन होगा। उन मामलों में, परिवर्तनों को त्यागना सबसे अच्छा नहीं है ताकि मर्ज इतिहास सही तरीके से अपडेट किया जा सके। "

+0

समर्थन आलेख के आधार पर संपादित किया गया। – PabloC

0

मेरे पास यह कुछ बार भी था। मुझे संदेह है कि टीएफएस लंबित विलय का प्रबंधन करने के तरीके में कुछ अजीबता है। अगर आप इन परिवर्तनों को मर्ज करने का प्रयास करते हैं, और चेंज टाइप सिर्फ" विलय "है और नहीं" मर्ज करें, संपादित करें ", फिर उन्हें मर्ज करना सुरक्षित है और आश्वस्त रहें कि कोई भी बदलाव नहीं हुआ है। अगर आप उन्हें विलय नहीं करते हैं, तो टीएफएस अनिश्चित काल तक गैर-परिवर्तनों को मर्ज करने की कोशिश कर रहे हैं, संभवत: वास्तविक परिवर्तनों को अंततः अस्पष्ट कर रहे हैं। मैं विलय की सलाह देता हूं इन गैर-परिवर्तन ASAP।