2009-07-16 9 views
5

के बाद यह शायद SVN 101 है, लेकिन मैं पूछना:उलटफेर परियोजना SVN चेकआउट

मैं एक परियोजना एक लंगड़ा निर्देशिका संरचना की तरह है पर काम कर रहा हूँ। प्रोजेक्ट की जांच करने के बाद, इसे मेरे पसंदीदा आईडीई में बनाने और चलाने के लिए, मैं पूरी परियोजना को एक अलग निर्देशिका में कॉपी करता हूं और चीजों को अपने (और मेरे आईडीई) पसंद करता हूं।

तो मेरा मूल प्रश्न यह है: क्या मैं रिपोजिटरी की निर्देशिका संरचना की तुलना में एक अलग निर्देशिका स्ट्रक्चर में फ़ाइल को सुरक्षित रूप से संपादित/अपडेट/विलय कर सकता हूं?

जैसे, अगर मैं /home/me/dev/proj/index.jsp की जाँच और फिर इसे (और इसके .svn मेटाडाटा) /home/me/dev/better-proj/web/index.jsp को कॉपी, तथ्य यह है कि index.jsp एक अलग निर्देशिका में रहता है अपने SVN स्थिति के मामले में ठीक है, सही होना चाहिए? गलत? या मैं बस परेशानी के लिए पूछ रहा हूँ?

उत्तर

6

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

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

0

मैंने आपके प्रश्न को गलत समझा। मैंने सोचा कि आप एसवीएन चाल कमांड की तरह कुछ ढूंढ रहे थे। (see these questions)

लेकिन जाहिर है कि आप जो खोज रहे हैं वह नहीं है।

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

1

तो क्या आप अपनी टीम के अन्य लोगों की तुलना में इस परियोजना के साथ एक अलग संरचना में काम करते हैं? मुझे यकीन नहीं है कि यह ईमानदारी से कैसे काम करता है। मैं शामिल सभी से बात करता हूं, और svn का उपयोग करता हूं: उन सभी स्थानों पर इतिहास के साथ सभी फाइलें प्राप्त करने के लिए आगे बढ़ें जिन पर आप सभी सहमत हो सकते हैं।

1

यदि आप एक संस्करण वाली निर्देशिका के अंदर एक संस्करण निर्देशिका डालने का प्रयास करते हैं, तो आप इस दृष्टिकोण के साथ समस्याओं का सामना करेंगे जो उसके माता-पिता नहीं हैं। इसके अलावा, आपको एक निराशाजनक काम करने वाली प्रतिलिपि से जुड़े पेपरवर्क सिरदर्द के अलावा किसी अन्य चीज में नहीं भागना चाहिए।

क्या कोई कारण है कि आप svn move का उपयोग रिपोजिटरी में प्रोजेक्ट को पुनर्गठित करने के लिए नहीं कर सकते? आप इस तरह से कोई इतिहास खो देंगे नहीं, और आप अपने जीवन को और अधिक आसान बना देंगे।

2

यदि गंतव्य अभी भी आपकी कार्यशील प्रतिलिपि में है, तो svn move (documentation) का उपयोग करें। किसी भी तरह से, आप कभी.svn मेटाडेटा को स्वयं में हेरफेर करना चाहते हैं क्योंकि यह संघर्ष और सामान्य सिरदर्द का कारण बन जाएगा।

गंतव्य एक और भंडार के काम की नकल है, तो आप गंतव्य रेपो पर स्रोत रेपो svn add (documentation) द्वारा पीछा किया पर एक svn export (documentation) करना चाहता हूँ।

पढ़ने के लायक भी: Subversion Basic Work Cycle

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