विलय परियोजना/समाधान फाइल डेवलपर्स/एससीएम प्रशासकों के बीच एक प्रसिद्ध आपदा है जो उनके स्रोत नियंत्रण में विलय कर रही है।vcproj फ़ाइलों को विलय करना - एससीएम का नरक
उदाहरण के लिए, एक आम परिदृश्य लें: दो अलग-अलग शाखाओं में एक परियोजना/समाधान पर विकास किया जाता है। जब मुख्य विकास रेखा में वापस आने के लिए समय आता है, तो वीसीपीआरजे (और एसएलएन) के बीच बहुत ही कम समानता होती है।
कारण यह है कि, विजुअल स्टूडियो इन फ़ाइलों के भीतर विभिन्न एक्सएमएल-जैसे तत्वों का स्थान बदल सकता है (और बदलता है)। उदा।, विन्यास डीबग और रिलीज प्रोज फ़ाइल पर प्रत्येक सेव ऑपरेशन पर ऑर्डर स्वैप कर सकता है। इससे स्वचालित विकास पर विचार न करने पर भी प्रत्येक विकास शाखा से परिवर्तनों को आसानी से शामिल करना असंभव हो जाता है।
मैं मान सकता हूं कि माइक्रोसॉफ्ट vcproj संरचनाओं को पकड़ने के लिए कुछ perl हैशिंग सिस्टम का उपयोग कर रहा है, इसलिए सहेजने वाले ऑपरेशन पर फ़ाइलों का प्रतिपादन आदेश नहीं दिया जाता है।
मैं पहले पूछना चाहूंगा: क्या किसी को इसे हल करने के लिए कुछ सुरुचिपूर्ण तरीका मिला?
दूसरा, मैं दो सुझाव देने के लिए करना चाहते हैं:
माइक्रोसॉफ्ट ऊपर फ़ाइलों reimplement और उन्हें तत्वों में से कुछ कठोर आदेश तक सीमित कृपया है।
एक उपकरण को खोजने के (या एक लिखने) कि vcproj (xml प्रारूप) और SLN (SLN प्रारूप ...) क्रमबद्ध करता वर्णानुक्रम फ़ाइलें, रिकर्सिवली (तत्वों आदि के भीतर सभी तत्वों)। स्रोत और लक्ष्य फ़ाइलों दोनों पर इस टूल का उपयोग करके परिवर्तनों को आसानी से इंगित करने (और विलय) करने में सक्षम हो जाएगा, उम्मीद है कि विजुअल स्टूडियो क्रमबद्ध, मर्ज किए गए प्रोजेक्ट या एसएलएन फ़ाइल को पढ़ता है।
कोई अन्य विचार और विचार स्वागत है।
मुझे आपका टूल विचार पसंद है। ऐसा लगता है कि मुझे एक उपयोगी चीज है। शायद मुझे यह जाना होगा ... – Tim
आप कितने आश्वस्त हैं कि समाधान फ़ाइलों में तत्वों का क्रम कोई महत्व नहीं है? कहें, प्रोजेक्टसेक्शन (प्रोजेक्ट पर निर्भरता) और ग्लोबलसेक्शन (TeamFoundationVersionControl) अनुभागों के भीतर? क्या कहीं भी एक प्रकाशित प्रारूप है? –