हमारी कंपनी में हम एसवीएन रिपॉजिटरी का उपयोग कर रहे हैं। मैं दोनों काम (मुख्य स्थान) और घर (ज्यादातर प्रयोगों और रीफैक्टरिंग) से प्रोग्रामिंग कर रहा हूं। वे दो अलग-अलग मशीनें हैं, अलग-अलग नेटवर्क में और लगभग कभी भी एक ही समय में चालू नहीं होती हैं (आखिरकार मैं या तो काम पर हूं या घर पर ...)
मैं कुछ वितरित संस्करण नियंत्रण प्रणाली को मौका देना चाहता था और एसवीएन आधारित प्रक्रिया और दो मशीनों के साथ जुड़े कुछ मुद्दों को हल करना चाहता था। Git से, Mercurial और Bazaar मैंने बाज़ार से शुरू करने का चुनाव किया क्योंकि यह दावा करता है कि इसे डिज़ाइन किया गया है जिसका उपयोग मानव द्वारा किया जाता है। वितरित प्रणाली के साथ मेरा पहला और अच्छा और आसान यूजर इंटरफेस होना मेरे लिए महत्वपूर्ण था।
मैं जिन विशेषताओं को प्राप्त करना चाहता था, वे थीं:
- SVN रिपॉजिटरी से अपडेट करने और इसके लिए प्रतिबद्ध होने में सक्षम।
- किसी कार्य पर मेरे कार्य के स्थानीय चरणों को करने में सक्षम होना।
- अपनी स्थानीय शाखाओं में एक ही समय में कुछ अलग कार्य करने में सक्षम होना।
- मेरे काम और घर के कंप्यूटर के बीच उन शाखाओं को साझा करने में सक्षम होने के नाते।
काम और घर के कंप्यूटर के बीच परिवहन के साधन के रूप में मैं एक पेन-ड्राइव का उपयोग करना चाहता था। कंपनी सर्वर तब तक काम नहीं करेगा जब तक कि मैं वहां कुछ भी स्थापित नहीं कर सकता। न तो एक वेब सेवा रिपॉजिटरी काम करेगा, क्योंकि मैं वेब पर स्रोत कोड अपलोड नहीं कर सकता (विशेषकर यदि यह सार्वजनिक होगा जो मुफ्त वेब सेवाओं में एक सामान्य मामला लगता है)।
यह परिवहन बाज़ार-आधारित होना चाहिए (या कभी-कभी मैं किसके साथ समाप्त हो जाऊंगा) इसलिए इसे अधिक या कम स्वचालित रूप से किया जा सकता है, लेकिन कुछ फ़ोल्डरों को कॉपी करना और पेस्ट करना या पैच फ़ाइलों को उत्पन्न करना (वे काम करेंगे - मुझे पैच फ़ाइलों के साथ बुरा अनुभव है) SVN में) बेहतर समाधान नहीं होने पर भी काम करेगा।
फिर भी पेन-ड्राइव का उपयोग केवल परिवहन के लिए किया जाना चाहिए। मैं वहां संपादित या निर्माण नहीं करना चाहता।
मैंने SVN के साथ एकीकरण के लिए बाज़ार दिशानिर्देशों का पालन करने की कोशिश की। लेकिन मैं असफल रहा। मैंने दोनों को आजमाया
bzr svn-import
तथा
bzr checkout
दोनों के रूप में मेरे भंडार से URL प्रदान करना https://...
तथा svn+https://...
। कुछ मामलों में प्रमाणपत्रों के साथ इसके कुछ मुद्दे थे लेकिन आउटपुट ने उन्हें अनदेखा करने के लिए तर्क दिया ताकि मैंने ऐसा किया। कभी-कभी इसने मुझे लॉग इन करने के लिए कहा (अन्य मामलों में शायद यह याद रहे ... मुझे नहीं पता) जो मैंने किया।
सभी बहुत धीमी गति से चल रहे थे (यह हमारे सर्वर का मुद्दा हो सकता है) और कुछ बिंदु पर कनेक्शन रुकावट के कारण बाधित हुआ था (यह लगभग हमारे सर्वर का मुद्दा है: यह कुछ समय के बाद कनेक्शन को काट देता है)। लेकिन जब से (एसवीएन के विपरीत) फिर से शुरू करने के बजाय नए सिरे से शुरू होता है, जहां यह बाधित हो गया था, मैं सभी ~ 19000 संशोधनों (आमतौर पर 150 के आसपास कहीं भी समाप्त होता है) तक पहुंचने में असमर्थ था।
बाज़ार से मुझे क्या और कैसे करना चाहिए? क्या स्थानीय चेकआउट से एसवीएन रिपॉजिटरी को किसी तरह आयात करना संभव है (ताकि मुझे कनेक्शन ट्रंकेशन का नुकसान न हो)? मुझे बताया गया कि एक सहकर्मी जो हमारे साथ काम करता था, उसने कुछ ऐसा ही किया है (पूरे इतिहास के साथ SVN रिपॉजिटरी आयात करना) कुछ ही समय में मर्क्यूरियल के साथ। इसलिए मैं गंभीरता से विचार कर रहा हूं कि अब मर्क्यूरियल की कोशिश कर रहा हूं, भले ही यह देखने के लिए कि क्या यह काम करेगा।
लेकिन यह भी सूचीबद्ध सुविधाओं को प्राप्त करने के लिए आपके सामान्य दिशानिर्देश क्या हैं?
hgsubversion
(यह एक मैंने कोशिश की) डाउनलोड करने और निर्माण के स्रोतों के साथ निर्देश स्थापित करने में। मैंने डाउनलोड किया जो "बाइनरी" की तरह लग रहा था फिर भी मैं इसे खोजने और विस्तार को सक्षम करने में असफल रहा। मैंने हार मान ली (अभी के लिए)।