2010-02-10 11 views
6

मेरे पास एक मुख्य परियोजना है जिस पर मैं काम कर रहा हूं, जिसमें कई मॉड्यूल/निर्देशिकाएं हैं। मुख्य परियोजना स्थानीय svn भंडार के लिए बाध्य है। हालांकि, जब भी मैं प्रतिबद्ध करता हूं, मैं कुछ मॉड्यूल/निर्देशिकाओं को Google कोड भंडार में भी धक्का देना चाहता हूं। हालांकि मैं केवल स्थानीय भंडार से अद्यतन करना चाहता हूं। क्या इसे स्वचालित रूप से करने का कोई तरीका है? मेरी आईडीई emacs है 23.svn एकाधिक भंडारों को प्रतिबद्ध करता है

धन्यवाद

उत्तर

6

यह how the SVN book recommends है जो आप करते हैं। यह बहुत दर्दनाक लगता है और मूल रूप से प्रत्येक रेपो के लिए एक कार्यशील प्रतिलिपि बनाने के आसपास घूमता है और सचमुच दोनों के बीच परिवर्तन की प्रतिलिपि बना रहा है (आप शायद एसवीएन पैच के साथ भी ऐसा कर सकते हैं)।

वैकल्पिक रूप से आप look into using SVK (जो एसवीएन के लिए वितरण परत है, एसवीएन को गिट-आईएसएच कार्यक्षमता जोड़ रहा है) को रिपोजिटरी mirroring or merging को बाहरी रिपोज़ में सेट करने के लिए कर सकते हैं। सावधान रहें, एसवीके के लिए प्रलेखन थोड़ा असंगठित है। स्पष्ट रूप से कमांड लाइन सहायता अच्छी है।

4

एक रिपोजिटरी के लिए SVN अंक में प्रत्येक काम कर प्रति। आप जो भी कर सकते हैं, उसे अपडेट करने और उन निर्देशिकाओं को करने से पहले, Google Code Repository पर इंगित करने के लिए अपनी रिपॉजिटरी को बदलने के लिए svn switch का उपयोग कर सकते हैं। फिर आप अपने कामकाजी प्रति को अपने मानक भंडार पर इंगित करने के लिए वापस स्विच कर सकते हैं। यह निश्चित रूप से, दोनों रिपॉजिटरीज़ में संगत निर्देशिका संरचनाओं पर भरोसा करता है।

1

यदि गलत नहीं है, तो एसवीएन स्विच समाधान नहीं है।

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

ऐसा लगता है कि प्रत्येक संग्रह के लिए एक कार्यशील प्रति होना चाहिए और मूल रूप से मूल कार्य निर्देशिका के बीच परिवर्तनों की प्रतिलिपि बनाना चाहिए।

1

ऐसा लगता है कि svnsync का उपयोग करके एक बेहतर समाधान है।

  1. स्रोत भंडार से सिंक्रनाइज़ेशन के लिए दर्पण भंडार आरंभ करें। यह पहली svnsync आपरेशन आप एक आईने होने भंडार पर चलने है:

    svnsync initialize MIRROR_URL SOURCE_URL 
    
  2. स्थानांतरण दर्पण भंडार के लिए स्रोत भंडार से सभी लंबित संशोधनों:

    svnsync synchronize DEST_URL 
    
  3. केवल मैन्युअल में समझाए गए लंबित संशोधन की प्रतिलिपि बनाने के लिए चयनित या विशेष अवसरों के लिए:

    svnsync copy-revprops DEST_URL [REV[:REV2] 
    
संबंधित मुद्दे