2009-07-10 8 views
11

मैं एक परियोजना के लिए कछुआ एसवीएन का उपयोग कर रहा हूं कि मैं अकेले काम कर रहा हूं और मैंने अपने भंडार (एक वीसी ++ इंटेलिसेंस डेटाबेस) में एक बड़ी फ़ाइल (गलती से) की है। अब मैं अपने बैकअप को सुविधाजनक बनाने के लिए इस फाइल को अपने भंडार से हटाना चाहता हूं।मेरे एसवीएन भंडार से फ़ाइल को पूरी तरह से निकालना संभव है?

मेरी परियोजना से फ़ाइल को हटाने और प्रतिबद्धता (स्पष्ट रूप से) मेरी समस्या का समाधान नहीं करती है क्योंकि उस फ़ाइल के पिछले संस्करण में अभी भी भंडार में हैं। क्या इस समस्या को हल करने का कोई तरीका है जिसमें एक नया भंडार बनाने में शामिल नहीं है?


संपादित

@ryansstack समाधान पूरी तरह से काम किया है, वह यह है कि मैं क्या किया (मैं निर्देशिका में आदेशों जहाँ मेरे भंडार स्थित था भाग गया):

सबसे पहले मैं एक डंप बनाया मेरी भंडार छानने विशाल फ़ाइल है कि:

svnadmin dump tcc | svndumpfilter exclude "/trunk/Image Segmentation/Image Segmentation.ncb" > tcc.bak 

तो मैं एक नया भंडार (tcc2) बना ली और भाग गया followi एनजी कमांड:

svnadmin load tcc2 < tcc.bak 

अब टीसीसी 2 का डंप आकार 7 एमबी टीबीसी बनाम 7 एमबी है।

+0

डुप्पी http: // stackoverflow।कॉम/प्रश्न/663584/सबवर्जन-स्थायी रूप से हटाएं-गलत तरीके से चेक-इन-निर्देशिका-परियोजना/663595 # 663595 http://stackoverflow.com/questions/560684/svn-obliterate –

उत्तर

2

जहां तक ​​मुझे पता है, एक बार जब svn में फ़ाइल की जाती है, तो svn में इसे पूर्ववत करने के लिए कोई कार्यक्षमता नहीं होती है। आप निर्देशिका से फ़ाइल को हटा सकते हैं और निर्देशिका को प्रतिबद्ध कर सकते हैं, लेकिन यह केवल फ़ाइल को निर्देशिका के नवीनतम संशोधन का हिस्सा नहीं बनायेगा; प्रतिबद्ध संशोधन अभी भी वहां है। आम तौर पर मुझे यह अच्छी बात मिलती है, लेकिन निश्चित रूप से ऐसे मामले हैं (जैसे आपकी) जहां यह कम वांछनीय हो सकता है।

-1

हम एक ही समस्या में पड़ गए है सकते हैं। मेरा एसवीएन सर्वर व्यवस्थापक मुझे बताता है कि यह नहीं किया जा सकता है। एकमात्र तरीका यह है कि आप इसे एक नया भंडार शुरू कर सकते हैं और पुराने को डिस्क या जो कुछ भी संग्रहीत कर सकते हैं।

फ़ाइल में कोई भी परिवर्तन न करें, esp। यदि यह एक बाइनरी फ़ाइल है, तो मुझे लगता है कि एसवीएन इसकी कई प्रतियां संग्रहीत करता है।

+0

एसवीएन बाइनरी फाइलों के diffs करता है। –

2

मैंने कुछ ऐसा करने पर देखा है, और मौलिक रूप से सबवर्जन स्थापित किया गया है ताकि आप इसे कुछ भी हटा नहीं सकें।

लेकिन चूंकि आप पहले ही डेटाबेस का बैक अप ले रहे हैं, तो आपको check this out होना चाहिए। मैंने जो किया वह मेरा भंडार डंप कर रहा था, इसे फ़िल्टर कर रहा था, और फिर इसे एक नए भंडार में लोड कर रहा था। बेशक, मैं पहले से ही अन्य कारणों से डंप/फ़िल्टर/लोड चक्र कर रहा था, इसलिए अतिरिक्त फ़िल्टरिंग का थोड़ा सा हिस्सा ज्यादा काम नहीं करता था। यदि आप पहले से ही बैकअप कर रहे हैं, तो आप अपने वर्तमान रेपो का बैकअप ले सकते हैं (मुझे लगता है कि आप डंप कर रहे हैं, या इसके लिए एकाधिक वृद्धिशील डंप), svndumpfilter का उपयोग करके विशेष संशोधन को फ़िल्टर करें, और बैकअप से पुनः लोड करें।

संपादित करें: टिग्रीस के पास आधिकारिक तौर पर issue 516 है। "Svn obliterate" कमांड की योजना बनाई गई है, लेकिन इसे अभी तक कार्यान्वित नहीं किया गया है।

-1

svn से एक प्रतिबद्ध फ़ाइल को पूर्ववत करना संभव नहीं है।

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