2010-01-12 17 views
5

एक फ्रीलांस डेवलपर के रूप में, मैं अपने सभी विकास को अपने स्वयं के एसवीएन सर्वर में निरंतर एकीकरण के साथ-साथ बुक-रखरखाव के लिए दोनों बदलावों को ध्यान में रखना चाहता हूं।एकाधिक एसवीएन सर्वरों में कोड रखना

अब मैं एक ऐसे ग्राहक के साथ काम कर रहा हूं जो आंतरिक रूप से एसवीएन का उपयोग करता है और जाहिर है कि मैं अपने विकास टीम के साथ अपने एसवीएन सर्वर पर काम करना चाहता हूं।

यह सामान्य रूप से महान है, लेकिन इससे मुझे इस परियोजना पर अपने कामकाजी प्रथाओं को त्यागना होगा और मेरी आंतरिक पुस्तक-रखरखाव विधि खो जाएगी। यदि यह बहुत होता है, तो मैं बहुत ढीले कामकाजी मानकों के साथ समाप्त हो जाऊंगा - आखिरकार परियोजना द्वारा अलग-अलग (जो मैं स्पष्ट रूप से नहीं चाहता)।

क्या दोनों दुनिया के सर्वश्रेष्ठ प्राप्त करने के लिए कुछ रचनात्मक तरीका है, और क्या एसवीएन सर्वर दोनों में कोड प्रतिबद्ध है? मुझे इसे खींचने के लिए आगे या प्रत्येक प्रतिबद्ध/अद्यतन पर थोड़ा अतिरिक्त काम नहीं लगता है।

svnsync शायद एक अच्छा विकल्प की तरह दिखता है। क्या किसी ने कोशिश की है? क्या किसी के पास अन्य सुझाव हैं?

उत्तर

2

मुझे यकीन नहीं है कि समस्या क्या है। आप एक अलग एसवीएन यूआरएल का उपयोग करते हैं, लेकिन बाकी सब कुछ वही है। "बुक-रखरखाव" से आपका क्या मतलब है?

शायद यह कोड के मालिक के पास उबलता है - यदि यह है, तो उन्हें आपके संस्करण नियंत्रण प्रणाली का उपयोग करने के लिए कहने का हर अधिकार है। और, चूंकि ऐसा लगता है कि आप एक विकास टीम के साथ काम कर रहे हैं, तो वे आपके पास बहुत अधिक हैं।

क्योंकि वहाँ अन्य संलग्न डेवलपर हैं, तो आप स्पष्ट रूप से बंद उनके भंडार बनाने के लिए काम करना चाहिए सुनिश्चित करें कि आप हमेशा नवीनतम कोड है और इस तरह टकराव से बचने, आदि

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

1

आप समय-समय पर (साप्ताहिक?) अपने ग्राहकों को भंडारित कर सकते हैं और अपने सर्वर में आयात कर सकते हैं ताकि आप बिलिंग उद्देश्यों या अन्य के लिए अपना विश्लेषण कर सकें।

एकमात्र समस्या जो मैं सोच सकता हूं, यह है कि यह करने के लिए आपका ग्राहक कितना खुश हो सकता है।

0

निश्चित रूप से संस्करण नियंत्रण प्रणाली कोड के साझाकरण और प्रबंधन में सहायता करती है। यदि आप दो भंडारों का उपयोग कर रहे हैं तो चीजें बहुत गन्दा हो जाएंगी, बहुत जल्दी। मैं प्रवाह के साथ जाऊंगा और जो कुछ भी कंपनी आपको पूछता है उसका उपयोग करें

1

मैं यहां दो अलग-अलग दृष्टिकोण देख सकता हूं, या तो आप अपने भंडार में काम करना जारी रखते हैं और फिर जब आपका कोड लगता है तो मैन्युअल रूप से अपने भंडार में बूँदें बराबर। दूसरा दृष्टिकोण svn प्रतिबद्ध हुक में देखना होगा - यानी स्क्रिप्ट जो किसी भी प्रतिबद्धता के दौरान चलती हैं। इस तरह की एक स्क्रिप्ट से मुझे लगता है कि आप आसानी से एक ही प्रतिबद्धता को अन्य भंडार में कर सकते हैं।

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

0

आप केवल परिवर्तन आप सबवर्सन में की गई सूची रुचि रखते हैं (मुझे लगता है, प्रति सप्ताह प्रतिबद्ध की #, समस्याओं को ठीक कर ... की सूची), तो आपको एक सरल जावा अनुप्रयोग है कि किसी भी प्रश्नों लिख सकते हैं आपके परिवर्तनों के लिए सबवर्सन रिपोजिटरी। उसके बाद, यह सिर्फ आपके आवेदन को सही भंडार पर इंगित करने का एक प्रश्न है।

सबवर्जन पुस्तकालयों का उपयोग करने में कुछ आसान हैं और मुझे SvnKit के साथ कोई विशेष समस्या नहीं थी।

0

हैं ग्राहक के भंडार का उपयोग करते हुए

एक समाधान सिर्फ अपने ग्राहक के भंडार का उपयोग करने के लिए किया। कोई भी अन्य "सामान" जो वहां से संबंधित नहीं है, जो आपके बुक-रखरखाव के लिए प्रासंगिक है, जैसे कि आपका प्रोजेक्ट मैनेजमेंट, टाइमकीपिंग इत्यादि, आपके स्थानीय भंडार में जा सकता है। आप दो अलग-अलग कामकाजी प्रतियों के साथ दो अलग रखेंगे, हालांकि आप अपने स्थानीय भंडार में svn:external सेट कर सकते हैं यदि आप थोड़ा मुश्किल प्राप्त करना चाहते हैं तो ग्राहक के भंडार को इंगित करते हैं।

यह तब तक काम करना चाहिए जब तक आप और ग्राहक दोनों खुश हों कि आपके काम कितने अच्छे हैं। आप अपने ग्राहक के भंडार में एक शाखा में काम करने पर विचार कर सकते हैं, और जब आप अपने काम से खुश होते हैं तो ट्रंक में विलय कर सकते हैं। इसका लाभ भी है (आपके क्लाइंट के लिए) कि ग्राहक के पास आपके सभी काम-प्रगति का बैक-अप है, जिसे वे पसंद कर सकते हैं। सबवर्सन एकीकरण

साथ

Git एक अन्य समाधान स्थानीय स्तर पर git उपयोग करने के लिए, और इसके ability to work with Subversion का इस्तेमाल करते हैं हो सकता है। आप हल्के स्थानीय शाखा में अपना काम प्रगति कर सकते हैं।

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