2011-01-08 9 views
12

में फ़ाइल को पूर्ववत करें मेरे पास एक फ़ोल्डर, और दो फाइलों के साथ एक ClearCase दृश्य है। मैं फ़ोल्डर को देखता हूं, फ़ाइल हटाता हूं और फ़ोल्डर को वापस चेक करता हूं। मुझे एक फ़ोल्डर और एक फ़ाइल के साथ छोड़ दिया गया है। क्या मेरी फाइल वापस पाने का कोई तरीका है? मैं मानक विंडोज सूट टूल्स का उपयोग कर रहा हूं, जिसमें क्लीर्टूल शामिल है।ClearCase

+0

[आरएम नामित तत्व को पुनर्स्थापित कैसे करें] (http://www-01.ibm.com/support/docview.wss?uid=swg21149206) – KyleMit

उत्तर

21

हां, फ़ाइल को वापस लेना संभव है। यह ClearCase (और अवसर पर एक जीवन बचतकर्ता) की एक महत्वपूर्ण विशेषता है।

मान लें कि आपकी निर्देशिका /vobs/somevob/somedir है। निर्देशिका में दो फाइलों के साथ निर्देशिका का संस्करण /main/3 था; इसलिए एक फ़ाइल वाला संस्करण /main/4 था। गिराए गए फ़ाइल /vobs/somevob/somedir/crucial है। cleartool के लिए उपनाम मान लिया जाये कि ct है, तो आप कार्य करें:

cd /vobs/somevob/somedir 
ct co -c 'Recover file crucial' . 
ct ln [email protected]@/main/3/crucial . 
ct ci -nc . 

पहली पंक्ति का मतलब है मैं अन्य तीन आदेशों में निर्देशिका के लिए पथ टाइप करने के लिए की जरूरत नहीं है; अन्यथा, यह वैकल्पिक है। दूसरी पंक्ति निर्देशिका को जांचती है ताकि इसे संपादित किया जा सके। संशोधित निर्देशिका में अंतिम पंक्ति जांचता है। तीसरी लाइन जहां जादू होता है ...

ct ln [email protected]@/main/3/crucial . लाइन फ़ाइल crucial कि निर्देशिका . के संस्करण /main/3 में देखा गया था और वर्तमान निर्देशिका (निर्देशिका से चेक आउट कर संस्करण) के लिए यह लिंक की पहचान करता है। आपके द्वारा देखे गए फ़ाइल संस्करण को आपके सीएसपीसी द्वारा चुना जाएगा, लेकिन सही फ़ाइल दृश्य में है (मान लीजिए कि आप वास्तव में अपने सीएसपीसी के साथ /vobs/somevob/[email protected]@/main/5 उठाते हैं)।

(ध्यान दें कि आप एक संस्करण को लिंक करने के लिए सीमित नहीं हैं; यदि आपको आवश्यकता हो तो 10 साल और 20 संस्करणों के बाद फ़ाइल को दोबारा स्थापित कर सकते हैं। हालांकि आप एक फ़ाइल को दो निर्देशिकाओं में एक साथ जोड़ सकते हैं, यह है अत्यधिक unrecommended, बजाय एक सिमलिंक का उपयोग आप

+1

आप - सचमुच - एक जीवन बचतकर्ता, धन्यवाद! – Jono

+0

मैंने अभी इसका उपयोग किया है और यह अजीब तरह से काम करता है। धन्यवाद! – ahoka

8

अपने अंतिम ज्ञात स्थान से एक अलग निर्देशिका में एक नष्ट कर दिया फ़ाइल ठीक हो सकता है) जोनाथन के जवाब देने के लिए जोड़ने के लिए:

  • आप हर कदम वह से वर्णन कर सकते हैं।। एक ग्राफिकल तरीका, मूल निर्देशिका के संस्करण पेड़ के माध्यम से: विलय से संस्करण जो अभी भी आपकी फ़ाइल को संस्करण में वर्तमान संस्करण में संदर्भित करता है (जो अब आपकी फ़ाइल का संदर्भ नहीं देता है)।
    मर्ज करें "ग्राफिकल" (विकल्प "ग्राफिकल विलय" का चयन करें)
    फिर आप उस फ़ाइल का चयन कर सकते हैं जिसे आप पुनर्स्थापित करना चाहते हैं।

  • आप भी एक merge -delete के माध्यम से (अभी भी मूल निर्देशिका के लिए) अपने पिछले चेकइन के प्रभाव को दूर कर सकते हैं:

सावधानी: एक से अधिक परिवर्तन में निर्देशिका में चला गया था इस संस्करण, उन परिवर्तनों को भी वापस किया जा सकता है। cleartool lshistory कमांड का उपयोग यह निर्धारित करने के लिए करें कि उस निर्देशिका संस्करण में अन्य परिवर्तन किए गए थे।

  1. उस संस्करण का निर्धारण करें जहां तत्व rmnamed था।
  2. निर्देशिका के उस संस्करण में लागू परिवर्तनों को हटाने के लिए cleartool merge -delete का उपयोग करें।

    उदाहरण के लिए:

    cleartool merge -to . -delete -version \main\17 
    
  3. अगर केवल परिवर्तन इस संस्करण में बनाया वांछित तत्व को हटाने था, परिवर्तन स्वचालित रूप से (सावधानी के बारे में देखें) बनाया जाना चाहिए।

0

पहले टिप्पणी करने के लिए जोड़ने के लिए, मेरा सुझाव है कि बजाय "को हटाने" ClearCase से तत्वों, बस उन्हें rmname की। इस तरह आप वास्तव में फ़ाइलों को हटा नहीं पाते हैं लेकिन उन्हें छुपाते हैं। आप भविष्य में फ़ाइलों को पुनर्प्राप्त (अनदेखा) करने के लिए फिर से rmname कमांड का उपयोग कर सकते हैं।

+1

'ct rm' कमांड 'ct rmname' के लिए संक्षेप है। यदि फ़ाइल को हटाए गए ऑपरेशन को 'ct rmelem' किया गया था, तो उपरोक्त तंत्र का उपयोग करके वसूली संभव नहीं होगी। चरम दुविधा के अलावा 'सीटी rmelem' का उपयोग न करें। –

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