2008-10-14 10 views
5

हमारे पास कुछ VS2005 समाधान पर काम कर रहे कुछ डेवलपर हैं, लेकिन हमारा स्रोत नियंत्रण बहुत खराब है। (हमारी कंपनी हार्वेस्ट का उपयोग करती है, जिसे हम कोई आत्मविश्वास नहीं देते हैं)।सही स्रोत नियंत्रण के बिना कोड परिवर्तन मर्ज करें

अभी, हम सभी साझा साझा ड्राइव पर फ़ाइलों से काम कर रहे हैं। जाहिर है, इससे कुछ समस्याएं होती हैं। लेकिन हमें लगता है कि यह स्थानीय रूप से काम करने से बेहतर है, और स्प्रेडशीट में छूए गए फ़ाइलों को ट्रैक करना और मैन्युअल रूप से सब कुछ विलय करना। क्या किसी के पास हमारे परिवर्तनों को विलय करने की रणनीति है?

कॉर्पोरेट बीओरोक्रेसी (जैसे हार्वेस्ट को अनिवार्य करने) की वजह से कुछ समस्याएं मौजूद हैं। वही नीतियां हमारे पर्यावरण में नए उपकरण पेश करने से रोकती हैं। इसलिए, नई सॉफ्टवेयर खरीदने/डाउनलोड करने से बचने वाली रणनीतियों हमारे लिए सबसे अच्छा काम करेंगे।

+1

हार्वेस्ट की चर्चा के लिए, http://stackoverflow.com/questions/26176/why-is-harvest-being-purchased-at-all –

उत्तर

5

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

ऐसा कहा जा रहा है कि वास्तविक स्रोत नियंत्रण प्रणाली के बिना इस प्रकार की गतिविधि को विश्वसनीय और त्रुटि-प्रवण होने जा रहा है।

2

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

4

गिट प्राप्त करें और इसे प्रत्येक देव मशीन पर स्थानीय रूप से इंस्टॉल करें। फिर दोहराने के लिए भंडार सेट करें।

+0

देखें कि उन्होंने पहले ही कहा है कि उनके कॉर्पोरेट नौकरशाही नए उपकरणों को पेश करने की अनुमति नहीं देंगे। जिम प्रौद्योगिकियों से अधिक प्रक्रियाओं और प्रथाओं की तलाश में है। – Raelshark

+1

क्या उनके कॉर्पोरेट नौकरशाही कर्मचारियों को छोड़ने की इजाजत देता है, या क्या वह इंडेंटर्ड नौकर का कुछ रूप है? अगर उन्हें स्रोत कोड नियंत्रण सही नहीं मिल रहा है, तो वे अपने डेवलपर्स का सम्मान करने में क्या बाधाएं हैं? –

+0

यदि सर्वर पर गिट स्थापित नहीं है और केवल प्रत्येक देव मशीन पर, वे कैसे जानेंगे? ऐसा नहीं है कि आपको –

2

एक मानक यूनिक्स कमांड लाइन उपकरण है जिसे विलय कहा जाता है जो एक बुद्धिमानी से फ़ाइल में परिवर्तनों के दो सेटों को विलय कर देगा। वाक्य रचना है:

merge mine older yours 

कहाँ "मेरा" आपके परिवर्तनों के साथ फ़ाइल है, "पुराने" मूल फ़ाइल है, और "तुम्हारा" किसी और का होता है बदल जाता है।

यह सुनिश्चित नहीं है कि आपके पास यूनिक्स (या मैक ओएस एक्स) बॉक्स है जो यद्यपि ऐसा करने के लिए आसपास है।

+0

वास्तव में कोई विलय नहीं है, लेकिन मुझे लगता है कि आप "diff3 -m" कमांड का जिक्र कर रहे हैं। देखें http://www.gnu.org/software/diffutils/manual/html_node/diff3-Merging.html –

1

साझा ड्राइव से काम करना एक अच्छा विचार नहीं है, और मुझे "कोई आत्मविश्वास" का वोट नहीं मिलता है।

यह अन्य परिवर्तन अधिलेखित करने के लिए बहुत आसान होती है, तो आप कोई परिवर्तन ट्रैकिंग, शाखा का कोई उपाय या टैग/लेबल, आदि है

1

यह एक व्यवहार्य विकल्प नहीं हो सकता है, लेकिन शायद आप इस्तेमाल कर सकते हैं एक वितरित सिस्टम bazaar, git, या Mercurial जैसी प्रणाली।

कारण मैं ये सुझाव देता हूं कि वे बहुत कम ओवरहेड हैं और अन्य प्रणालियों के साथ इसका उपयोग किया जा सकता है। मुझे बाजार के साथ पता है भंडार निर्देशिका में जोड़ा गया एक छिपा फ़ोल्डर है।

6

हार्वेस्ट का उपयोग करना सीखें। चीज़ों को आसानी से चलने के लिए थोड़ा प्रयास करना पड़ता है लेकिन कुल मिलाकर यह एक उत्कृष्ट स्रोत नियंत्रण प्रणाली है।

+0

मैं उससे सहमत हूं। एक खराब स्रोत नियंत्रण प्रणाली बिल्कुल स्रोत नियंत्रण से बेहतर है। – Kena

+1

मुझे समझ में नहीं आता कि कैसे कोई भी हार्वेस्ट "उत्कृष्ट" कह सकता है, लेकिन यदि आपके पास यह सबसे अच्छा टूल है, तो यह आपके पास सबसे अच्छा टूल है। –

+0

हां, हमने सभी प्रमुख पैकेजों को देखा: सेरेना, क्लीयरकेस, टीम फाउंडेशन, और कई छोटे पैकेज। समग्र प्रयोज्यता के मामले में हार्वेस्ट जो कुछ भी हमने देखा, उससे अच्छा या बेहतर था। ऐसा लगता है कि हमने देखा कि कई पैकेज पहले दिखने पर वास्तव में अच्छे लगते थे, लेकिन एक बार जब यह वास्तव में उत्पादन वातावरण में काम करने आया तो वे फ्लैट गिर गए। फसल, भले ही इसकी अपनी समस्याएं हों, वास्तव में काम करता है। – user8035

6

एक और संभावना Beyond Compare from Scooter होगी। इसमें फाइलों और निर्देशिकाओं पर दो और तीन तरीके विलय और महान diff कार्यक्षमता है। यदि आप इसके बारे में कुछ और जानना चाहते हैं, तो the delphi podcastJim McKeith पर सुनें।

लेकिन अधिकांश अन्य लोगों की तरह मैं गिट का उपयोग करने या हार्वेस्ट सीखने की सलाह दूंगा। अगर स्रोत नियंत्रण प्रणाली अपने diff एप्लिकेशन को बदलने की अनुमति देती है, तो तुलना से परे एक उत्कृष्ट प्रतिस्थापन होगा।

2

दो अलग-अलग मुद्दे हैं: संस्करण नियंत्रण और विलय। संस्करण नियंत्रण प्रणाली का उपयोग न करने का बिल्कुल कोई बहाना नहीं है। अगर कंपनी ने समाधान (किसी भी कारण से) पर फैसला किया है, तो इसका इस्तेमाल करें। इसमें पसंद नहीं है या "आत्मविश्वास" नहीं है इसका उपयोग न करने का वैध कारण नहीं है। और स्रोत कोड नियंत्रण प्रणाली की नकल करने के लिए साझा ड्राइव का उपयोग पागल से परे है।

विलय एक दूसरा मुद्दा है। आपको बस एक diff/विलय उपकरण की आवश्यकता है। एक चुनें। आप बिना किसी के लंबे समय तक कैसे गए हैं ?!

अरक्सिस एक महान है। कुछ रुपये खर्च SourceGear लोग कुछ समय के लिए अपने diff/विलय उपकरण को स्वतंत्र रूप से वितरित कर रहे हैं (वोल्ट के साथ आता है)। यह एक ठोस दावेदार भी है। वे दो हैं जिनका मैंने उपयोग किया है, मुझे पता है कि अब भी बाजार में हैं। कुछ अन्य पहले ही उल्लेख कर चुके हैं।

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

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