tortoisesvn - कछुए की गैर-पुनरावर्ती प्रतिबद्धता कैसे काम करती है?




commit non-recursive (6)

इसके अलावा कुछ फ़ाइलों के लिए जो मैंने एसवीएन-जोड़ा है, मैंने जोड़ने के बाद बदलाव किए हैं (यदि यह प्रकृति को प्रभावित करता है)।

मेरे मामले में यह वास्तव में संदेश को प्रकट करने के कारण हुआ, यहां तक ​​कि मैंने उन फ़ाइलों को प्रतिबद्धता के लिए अचयनित किया।

बदसूरत समाधान जो केवल कुछ फाइलें प्रभावित होने पर सुरक्षित रूप से काम करता है:

  1. बदली गई फ़ाइलों की एक प्रति बनाएं
  2. बदली गई फ़ाइलों को वापस लाएं
  3. मर्ज / पुनर्संरचना प्रतिबद्ध करें
  4. बदली गई फ़ाइलों को मूल स्थान पर वापस कॉपी करें

स्वयं को अनुस्मारक: लक्ष्य (ट्रंक) साफ़ होने पर केवल एक शाखा को फिर से विभाजित करें।

मैंने स्थानीय रूप से एसवीएन शाखा (मेरी शाखा) की प्रतिलिपि की जांच की है जिसमें मैंने एक अलग शाखा से विलय किया है (जिसमें एक पूरी तरह से अलग फ़ोल्डर संरचना है)। तो मूल रूप से बहुत सारे विलोपन (पुरानी फाइलें) और जोड़ (नई फाइलों के) हैं।

जब मैं भंडार (मेरी शाखा में) में विलय करने की कोशिश करता हूं, तो कछुए कहते हैं

यह प्रतिबद्धता रिकर्सिव नहीं है, और प्रतिबद्ध के लिए चुने गए फ़ोल्डर का नाम बदल दिया गया है। इस तरह के चाल / नाम हमेशा भंडार में किया जाता है। क्या आप वैसे भी प्रतिबद्ध करना चाहते हैं?

क्या इस प्रतिबद्धता के साथ आगे बढ़ना ठीक है? यदि नहीं, तो मुझे क्या करना चाहिए ताकि कोई समस्या न हो?

साथ ही, कुछ फ़ाइलों के लिए जो मैंने जोड़ा है, मैंने जोड़ने के बाद बदलाव किए हैं (यदि यह प्रकृति को प्रभावित करता है)।


क्या यह ठीक है अगर मैं इस प्रतिबद्धता के साथ आगे बढ़ूं?

नहीं, आपकी प्रतिबद्धता डब्ल्यूसी-पेड़ में सभी बदलावों को अनदेखा करेगी और केवल रूट-स्तरीय परिवर्तन (टूटा विलय) को प्रतिबिंबित करेगी।

शुरुआत में गैर-पुनरावर्ती जांच करते समय आपने एक त्रुटि की। आप सीएलआई में - --depth infinity पैरामीटर का उपयोग करके अच्छी, पूर्ण प्रतिबद्धता करने का प्रयास कर सकते हैं या इस स्विच को --depth infinity जीयूआई में ढूंढ सकते हैं।

svn commit --depth infinity . -m "Merge"

ऐसा लगता है कि TortoiseSVN कॉल करने से पहले किसी प्रकार की वैधता जांच करता है। अच्छा लेकिन त्रुटि संदेश बहुत अस्पष्ट है।

जब मुझे इस मुद्दे का सामना करना पड़ा, तो मैं प्रतिबद्ध करने के लिए svn कमांड लाइन का उपयोग करने के लिए वापस चला गया। Commit विफल कारण के कारण विफल रहा था कि फ़ोल्डरों में से एक अद्यतित नहीं था। बस उस फ़ोल्डर को अपडेट करने के बाद, मैं एक बार फिर से "svn प्रतिबद्ध" भाग गया और यह चला गया।

संपादित करें: पीएस: इससे पहले कि आप इसका प्रयास करें, सुनिश्चित करें कि आपके पास "प्रतिबद्धता पर अनदेखा" के रूप में चिह्नित कोई भी फ़ाइल नहीं है। "प्रतिबद्धता पर ध्यान न दें" कछुए विशिष्ट है और एसवीएन प्रतिबद्धता भी इन परिवर्तनों को चुनती है।


बस सोचा कि मैं इसे पोस्ट करूंगा क्योंकि यह मेरे लिए काम करता है ...

ऐसा इसलिए हुआ क्योंकि मैं आंशिक रूप से उन नई परियोजनाओं में से एक का नाम बदल चुका हूं जिन्हें मैंने बनाया था और किसी कारण से वे सभी प्रतिबद्ध स्क्रीन पर "गायब" के रूप में दिखाई दिए।

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

उम्मीद है की यह मदद करेगा!


मुझे बस एक ही समस्या थी। सभी फाइलों को चुनने के बजाय, मैंने संस्करण पर क्लिक किया और सब कुछ अच्छी तरह से काम किया। मेरे मामले में, विकल्प सभी संस्करणों का चयन संस्करण संस्करण, तो सबकुछ ठीक है।


मेरे पास एक ही समस्या थी, लेकिन उन फ़ाइलों में परिवर्तनों को वापस कर इसे हल किया जिन्हें मैंने 'अनदेखा-पर-प्रतिबद्ध'

एक बार जब मैंने इन फ़ाइलों को वापस कर दिया, तो tortoisesvn सभी अन्य फ़ाइलों को मर्ज से करने में सक्षम था