सही स्रोत नियंत्रण के बिना कोड परिवर्तन मर्ज करें

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

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

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

5
हार्वेस्ट की चर्चा के लिए,
जोड़ा लेखक Kristopher Johnson, स्रोत

9 उत्तर

एक और संभावना स्कूटर से तुलना से परे होगी। इसमें फाइलों और निर्देशिकाओं पर दो और तीन तरीके विलय और महान diff कार्यक्षमता है। यदि आप इसके बारे में कुछ और जानना चाहते हैं, तो डेल्फी सुनें पॉडकास्ट जिम मैककिथ द्वारा।

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

6
जोड़ा

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

6
जोड़ा
मुझे समझ में नहीं आता कि कैसे कोई भी हार्वेस्ट को "उत्कृष्ट" कह सकता है, लेकिन यदि आपके पास यह सबसे अच्छा टूल है, तो यह आपके पास सबसे अच्छा टूल है।
जोड़ा लेखक Kristopher Johnson, स्रोत
हार्वेस्ट और अन्य उपकरणों के बीच मेरे अपमान स्तर की तुलना करने में सक्षम होने के लिए मुझे लॉगरिदमिक पैमाने पर स्विच करना होगा।
जोड़ा लेखक Lieven Keersmaekers, स्रोत
मैं इस से सहमत हूँ। एक खराब स्रोत नियंत्रण प्रणाली बिल्कुल स्रोत नियंत्रण से बेहतर है।
जोड़ा लेखक Kena, स्रोत
हां, हमने सभी प्रमुख पैकेजों को देखा: सेरेना, क्लीयरकेस, टीम फाउंडेशन, और कई छोटे पैकेज। समग्र प्रयोज्यता के मामले में हार्वेस्ट जो कुछ भी हमने देखा, उससे अच्छा या बेहतर था। ऐसा लगता है कि हमने देखा कि कई पैकेज पहले दिखने पर वास्तव में अच्छे लगते थे, लेकिन एक बार जब यह वास्तव में उत्पादन वातावरण में काम करने आया तो वे फ्लैट गिर गए। फसल, भले ही इसकी अपनी समस्याएं हों, वास्तव में काम करता है।
जोड़ा लेखक user8035, स्रोत

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

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

5
जोड़ा

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

4
जोड़ा
यदि सर्वर पर गिट स्थापित नहीं है और केवल प्रत्येक देव मशीन पर, वे कैसे जानेंगे? ऐसा नहीं है कि आपको काम करने के लिए प्रशासन अधिकारों की आवश्यकता है
जोड़ा लेखक Orion Edwards, स्रोत
अंगूठे ड्राइव पर इसे स्थापित करें और बॉस को दिखाए जाने पर उन्हें किसी भी जेब में रखें।
जोड़ा लेखक BCS, स्रोत
क्या उनके कॉर्पोरेट नौकरशाही कर्मचारियों को छोड़ने की इजाजत देता है, या क्या वह इंडेंटर्ड नौकर का कुछ रूप है? अगर उन्हें स्रोत कोड नियंत्रण सही नहीं मिल रहा है, तो वे अपने डेवलपर्स का सम्मान करने में क्या बाधाएं हैं?
जोड़ा लेखक Matt Cruikshank, स्रोत
उन्होंने पहले से ही कहा है कि उनके कॉर्पोरेट नौकरशाही नए उपकरणों को पेश करने की अनुमति नहीं देंगे। जिम प्रौद्योगिकियों से अधिक प्रक्रियाओं और प्रथाओं की तलाश में है।
जोड़ा लेखक Raelshark, स्रोत

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

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

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

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

3
जोड़ा

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

merge mine older yours

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

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

2
जोड़ा
असल में कोई विलय नहीं है, लेकिन मुझे लगता है कि आप "diff3 -m" कमांड का जिक्र कर रहे हैं। gnu.org/software/diffutils/manual/html_node/diff3 देखें -Merging.ht और जेडडब्ल्यूएनजे; मिलीलीटर
जोड़ा लेखक Bruno De Fraine, स्रोत

यह एक व्यवहार्य विकल्प नहीं हो सकता है, लेकिन शायद आप वितरित सिस्टम का उपयोग कर सकते हैं जैसे बाज़ार , git , या मर्क्युरियल

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

2
जोड़ा

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

2
जोड़ा

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

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

1
जोड़ा