मरम्मत एसवीएन चेकसम

मैं फ्लेक्स बिल्डर 3 में उपclipse का उपयोग कर रहा हूँ, और प्रतिबद्ध करने की कोशिश करते समय हाल ही में यह त्रुटि प्राप्त की:

svn: '/ उपयोगकर्ता / redacted / दस्तावेज़ / फ्लेक्स बिल्डर 3 / पथ / से / my / file.mxml' के लिए चेकसम मिस्चैच; अपेक्षित: 'f8cb275de72776657406154dd3c10348', वास्तविक: 'शून्य'

मैंने इसके आसपास काम किया:

  1. परेशानियों को छोड़कर, अन्य सभी बदली गई फ़ाइलों को प्रतिबद्ध करना।
  2. समस्या फ़ाइल की सामग्री को टेक्स्टमैट विंडो में कॉपी करना
  3. फ्लेक्सबिल्डर / ग्रहण
  4. में मेरी परियोजना को हटा रहा है
  5. एसवीएन से ताजा बाहर मेरी परियोजना की जांच
  6. समस्या फ़ाइल के टेक्स्ट को टेक्स्टमैट विंडो से वापस कॉपी करना
  7. परिवर्तन करना।

यह काम करता है, लेकिन मैं मदद नहीं कर सकता लेकिन लगता है कि एक बेहतर तरीका है। Svn का कारण बनने के लिए क्या हो रहा है: चेकसम त्रुटि, और सबसे अच्छा फिक्स क्या है।

शायद अधिक महत्वपूर्ण - क्या यह एक बड़ी समस्या का एक लक्षण है?

0
ro fr bn

4 उत्तर

मुझे कभी-कभी ऐसी चीजें मिलती हैं, आमतौर पर उन फाइलों के साथ जो सप्ताह में किसी के पास नहीं होती हैं। आम तौर पर, यदि आप जानते हैं कि आप निर्देशिका में निर्देशिका में काम नहीं कर रहे हैं, तो आप समस्या के साथ निर्देशिका को हटा सकते हैं और चला सकते हैं

svn update

इसे फिर से बनाने के लिए।

यदि आपके पास निर्देशिका में लाइव परिवर्तन हैं तो lassevk के रूप में और आपने स्वयं सुझाव दिया है, एक और सावधानीपूर्वक दृष्टिकोण की आवश्यकता है।

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

0
जोड़ा
हे @ इगोरगानापोलस्की सबसे अच्छा सवाल पूछें यदि आप इसके साथ मदद चाहते हैं
जोड़ा लेखक Polsonby, स्रोत
मुझे एक त्रुटि मिलती है: ** पिछला ऑपरेशन समाप्त नहीं हुआ है; अगर इसे बाधित किया गया तो 'क्लीनअप' चलाएं **
जोड़ा लेखक Igor Ganapolsky, स्रोत

.svn निर्देशिका में फ़ाइल जो कि आपने जो जांच की है, उस समय, किस संशोधन, और कहां से, उस विशेष फ़ाइल के लिए किसी भी तरह से दूषित हो गया है, का ट्रैक रखता है।

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

जब तक यह और अधिक नहीं होता है, मैं इससे अधिक नहीं निकालूंगा।

यह आपके द्वारा किए गए कार्यों को ठीक करके तय किया जा सकता है, अपनी कार्य-फ़ाइलों की एक प्रति बनाएं, एक नई प्रतिलिपि देखें, और संशोधित फ़ाइलों को वापस अंदर जोड़ें।

ध्यान दें कि यदि आपके पास एक व्यस्त परियोजना है जहां आपको आम तौर पर परिवर्तनों में विलय करना होगा तो इससे समस्याएं हो सकती हैं।

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

अगर आपको इस मामले में समस्या नहीं मिली, तो जब आप अपने संशोधनों में चेकइन करने के लिए चारों ओर घूमते थे, तो आपको पहले अपनी कार्यशील प्रति को अपडेट करना होगा, और संभवतः अपनी फ़ाइल के साथ एक संघर्ष को संभालना होगा।

हालांकि, यदि आप एक नया चेकआउट करते हैं, तो अपने कॉलेग्यूज़ परिवर्तनों के साथ पूरा करें, ऐसा लगता है कि आपने अपने परिवर्तन हटा दिए हैं और स्वयं के साथ प्रतिस्थापित किया है। कोई संघर्ष नहीं, और उपद्रव से कोई संकेत नहीं कि कुछ अस्वस्थ है।

0
जोड़ा
आप सही हैं कि भ्रष्टाचार कहां हुआ है। यह एक स्थानीय। एसवीएन समस्या है! उसके लिए धन्यवाद। यह मेरी समस्या को अच्छी तरह से हल किया।
जोड़ा लेखक Matt, स्रोत
आपके संघर्ष उदाहरण में, आप सहकर्मी को अपने संपादन में चेक करने से पहले संशोधन (प्रश्न में फ़ाइल का) जांचना चाहेंगे, फिर फ़ाइल की अपनी संशोधित कार्य प्रतिलिपि में अपनी फ़ाइल सामग्री लागू करें और अंत में स्विच करें उस फ़ाइल का HEAD संशोधन। अगर मुझे गलत नहीं लगता है, तो इसका परिणाम फिर से उचित विलय की स्थिति में हो सकता है, जिसमें आपके और आपके सहयोगी दोनों फाइल में बदल जाते हैं।
जोड़ा लेखक hiergiltdiestfu, स्रोत

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

0
जोड़ा
मेरे लिए काम किया! ग्रहण / सबवर्जन के लिए निर्देश जोड़ें: टूटी हुई फ़ोल्डर को एक नई, अस्थायी परियोजना के रूप में देखने के लिए एसवीएन रिपोजिटरी परिप्रेक्ष्य का उपयोग करें (ग्रहण आपको एक पुराने पुराने फ़ोल्डर में चेक आउट नहीं करेगा)। आपको आवश्यकता से अधिक जांचने से बचने के लिए "गहराई: फ़ाइल में फ़ोल्डर" का चयन करें। फिर एंड्रयू के ब्लॉग में वर्णित वास्तविक परियोजना में अस्थायी परियोजना से /। Svn कॉपी करें। ग्रहण को पुनरारंभ करना आवश्यक हो सकता है, और वैसे भी चोट नहीं पहुंचा सकता है। (मूल में बैक अप /। Svn बस मामले में!)
जोड़ा लेखक Barry Fruitman, स्रोत

एसवीएन .svn निर्देशिकाओं में दफन किए गए सभी फ़ाइलों की पुरानी प्रतियां रखता है। इसे टेक्स्ट-बेस कहा जाता है। यह तेजी से diffs और reverts के लिए अनुमति देता है। विभिन्न परिचालनों के दौरान, एसवीएन फ़ाइल भ्रष्टाचार के मुद्दों को पकड़ने के लिए इन टेक्स्ट-बेस फ़ाइलों पर चेकसम करेगा।

आम तौर पर, एक एसवीएन चेकसम मिस्चैच का मतलब है कि एक फ़ाइल जिसे बदला नहीं जाना चाहिए था किसी भी तरह बदला गया था। इसका क्या मतलब है?

  1. डिस्क भ्रष्टाचार (खराब एचडीडी या आईडीई केबल)
  2. खराब रैम
  3. खराब नेटवर्क लिंक
  4. किसी प्रकार की पृष्ठभूमि प्रक्रिया ने आपकी पीठ (मैलवेयर)
  5. के पीछे एक फ़ाइल को बदल दिया

ये सब खराब हैं।

HOWEVER, I think your problem is different. Look at the error message. Note that it expected some MD5 hashes, but instead got back 'null'. If this were a simple file corruption issue, I would expect that you would have two different MD5 hashes for the expected/got. The fact that you have a 'null' implies that something else is wrong.

मेरे पास दो सिद्धांत हैं:

  1. एसवीएन में बग।
  2. फ़ाइल पर कुछ विशेष लॉक था, और MD5 नहीं हो सका।

# 1 के मामले में, नवीनतम एसवीएन संस्करण में अपग्रेड करने का प्रयास करें। शायद इसे svn-devel मेलिंग सूची पर पोस्ट करें ( http://svn.haxx.se ), इसलिए डेवलपर्स इसे देख सकते हैं।

# 2 के मामले में, यह देखने के लिए जांचें कि फ़ाइल में कुछ भी लॉक है या नहीं। आप जांच करने के लिए प्रक्रिया एक्सप्लोरर की एक प्रति डाउनलोड कर सकते हैं। ध्यान दें कि आप शायद देखना चाहते हैं कि टेक्स्ट-बेस फ़ाइल पर लॉक किसके पास है, न कि वास्तविक फ़ाइल जिसे आप प्रतिबद्ध करने का प्रयास कर रहे थे।

0
जोड़ा
मेरे मामले में, टेक्स्ट-बेस फ़ाइलों को एक वैश्विक खोज / मेरे आईडीई में प्रतिस्थापित किया गया था, पृष्ठभूमि प्रक्रिया नहीं। वही सिद्धांत लागू होता है।
जोड़ा लेखक Andrew Hedges, स्रोत