2010-06-29 13 views
5

मैं एक लिनक्स सर्वर पर एक एसवीएन सर्वर चलाता हूं। मैं बिना किसी इंटरनेट एक्सेस के एक सप्ताह के लिए शहर से बाहर जा रहा हूं, और इसलिए कोई एसवीएन एक्सेस नहीं है।एक भंडार से केवल कुछ एसवीएन संशोधनों को कॉपी करें

तो मैं यह पता लगाने की कैसे अपने लैपटॉप पर मेरे साथ भंडार का एक स्नैपशॉट लेने के लिए, और फिर जब मैं वापस पाने के मौजूदा भंडार में वापस नए संशोधन विलय कोशिश कर रहा हूँ ...

  • मेरा लैपटॉप विंडोज 7 चलाता है, इसलिए सबसे पहले, मुझे लगता है कि VisualSVN Server शायद वह सर्वर है जिसे मैं स्थानीय रूप से चलाऊंगा।

  • मैं अपने वर्तमान भंडार डंप, और उसके बाद अपने लैपटॉप

  • लेकिन क्या मैं के बारे में यकीन नहीं है पर एक नया भंडार में लोड करने के लिए सक्षम होना चाहिए, जब मैं शहर से बाहर से वापस पाने के लिए है। मेरे पास अपने लैपटॉप पर एसवीएन सर्वर पर इन सभी नए संशोधन होंगे। मैं अपने लिनक्स सर्वर पर रिपॉजिटरी में केवल इन नए संशोधनों को कैसे डंप कर सकता हूं?

  • अगर मैं >svnadmin dump --revision 50:75 (यह मानते हुए संशोधन 50 से 75 के माध्यम से मैंने नए संशोधन अपने लैपटॉप पर प्रतिनिधित्व करते हैं) का उपयोग करें, मैं बस कि डंप फ़ाइल अपने मौजूदा भंडार में मेरी linux सर्वर पर लोड कर सकते हैं? क्या यह इतना आसान है? मुझे पता है कि भंडार यूयूआईडी के संबंध में कुछ चीजें हैं जो कुछ मुद्दों का कारण बन सकती हैं ...

  • एक और नोट, मैं फिलहाल इस एसवीएन रिपोजिटरी में योगदान करने वाला एकमात्र डेवलपर हूं। तो कोई कोड विलय की आवश्यकता होगी।

अद्यतन

मुझे पता है कि मैं एक भंडार स्थानीय स्तर पर पहुंच सकता है बस file:/// का उपयोग नहीं किया गया था। तो शायद VisualSVN सर्वर चलाने से बेहतर काम करेगा। हालांकि, प्राथमिक प्रश्न अभी भी बना हुआ है: मैं एक संग्रह से दूसरे में नए संशोधन कैसे प्राप्त करूं?

+0

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

उत्तर

2

यदि आप एकमात्र डेवलपर हैं, तो शायद आप अपने साथ भंडार ले सकते हैं।

फ़ाइल के साथ इसे एक्सेस करें: /// प्रोटोकॉल जब आप दूर हैं, तो वापस लौटने पर सर्वर पर वापस रखें। । ।

+0

इसे मेरे साथ लेना वह है जो मैं चाहता था। लेकिन मैं लैपटॉप पर रेपॉजिटरी से मूल एसवीएन सर्वर में केवल नए संशोधन कैसे कॉपी करूं? या आप सुझाव दे रहे हैं कि मैं मौजूदा एसवीएन सर्वर को हटा देता हूं और अपने लैपटॉप से ​​पूरे भंडार को अपने कंप्यूटर से एक नए में डंप/लोड करता हूं? –

+0

मैं सुझाव दे रहा था कि आप पूरी चीज अपने साथ ले सकते हैं ... यानी सर्वर पर निर्देशिका जिसमें conf, db, hooks, आदि निर्देशिकाएं हैं - बस उस निर्देशिका को सर्वर से अपने लैपटॉप पर कॉपी करें। इसे "svn checkout फ़ाइल: /// c:/svn/repos" जैसे एक्सेस करें। जब आप वापस आते हैं, तो सर्वर पर रिपॉजिटरी निर्देशिका हटाएं और लैपटॉप से ​​अपनी स्थानीय प्रतिलिपि कॉपी करें। –

+0

... एक तरह से स्वयं वितरित एसवीएन स्रोत नियंत्रण प्रणाली की तरह। :) –

0

मैं आपकी स्थानीय कामकाजी प्रति के शीर्ष पर एक गिट या मर्कुरियल स्थानीय भंडार बनाने की सलाह दूंगा।

आप भंडार को साफ रखने के लिए .sgn फ़ोल्डर्स और कलाकृतियों को .hgignore या .gitignore फ़ाइलों में जोड़ सकते हैं, और फिर जब आप वापस आते हैं तो आप केवल बदलावों का एक svn प्रतिबद्ध कर सकते हैं, या यदि आप चाहते हैं फैंसी प्राप्त करने के लिए जब आप सड़क पर थे, तो आप जिस मेकुरियल/गिट में चेक किए गए काम की हर महत्वपूर्ण इकाई के लिए विचलन के लिए एक चरणबद्ध प्रतिबद्धता वापस करते हैं।

उन दोनों रिपोज़ में आपकी स्थानीय कार्य प्रतिलिपि को संशोधन नियंत्रण में रखना और इतिहास में बिंदुओं में परिभाषित चेक को आसानी से सिंक करना आसान हो जाता है।

+0

मैं आगे भी जाऊंगा और hgsvn या git-svn जैसे टूल का उपयोग करूंगा, जो स्वचालित रूप से स्थानीय इतिहास को उपversण में कॉपी करने में सक्षम हैं। – Rudi

1

भंडार से संशोधन का एक सेट (मिमी करने के लिए nn) निकालने के लिए:

svnadmin dump --incremental -r nn:mm /path/to/repository > /path/to/dumpfile.svn 

--incremental विकल्प आपको आयात के साथ-साथ पूरे आधारभूत लाए बिना परिवर्तन के इस सेट विलय करने के लिए अनुमति देता है।

भंडार करने के लिए उन संशोधनों को लागू करने के:

svnadmin load --ignore-uuid /path/to/repository < /path/to/dumpfile.svn 

--ignore-uuid विकल्प आयात स्रोत रिपोजिटरी से UUID जानकारी को निकाल देते हैं अनुमति देता है।

मैं इस ऑपरेशन को एक सामान्य संशोधन विरासत के साथ भंडार में प्रतिबंधित कर दूंगा अन्यथा लोड शायद असफल हो जाएगा।

0

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

WinZip मदद कर सकता है अगर आपको अब "सहेजें गेम" स्नैपशॉट लेने की आवश्यकता है।