क्या svn के पास एक `रिवर्ट-ऑल` कमांड है?


159

यदि मैं अपने सभी परिवर्तनों को दूर करना चाहता हूं, और उस कोड पर वापस लौटता हूं जो रिपॉजिटरी पर है, तो मैं निम्नलिखित कार्य करता हूं:

$ rm -fr *
$ svn up

यह काफी आसान है, लेकिन मैं सोच रहा हूं कि क्या कोई एकल आदेश है जो इसे पूरा करेगा, कुछ इस तरह है:

$ svn revert-all

-Rf के बजाय -fr का उपयोग कौन करता है? वहाँ एक कारण यह rimraf स्पष्ट है, rimfer नहीं है।
जिमी होफा

@ जिमीहॉफा क्या कारण है?
एरिक विल्सन

3
सम्मेलन के विल्सन! कन्वेंशनों, सर! हमारी अनुशासन और सांस्कृतिक परंपराओं के बिना, हम लेकिन जंगली हैं! मैं कहता हूं, शुभ दिन सर!
जिमी हॉफ

जवाबों:


306

तुम यह कर सकते थे:

svn revert -R .

यह संस्करण नियंत्रण में नहीं किसी भी नई फ़ाइल को नहीं हटाएगा। लेकिन आप आसानी से ऐसा करने के लिए एक शेल स्क्रिप्ट लिख सकते हैं:

for file in `svn status|grep "^ *?"|sed -e 's/^ *? *//'`; do rm $file ; done

2
एसओ में आपका स्वागत है, और पूरी तरह से उत्तर के लिए धन्यवाद, जैसा svn revert -Rकि मैंने दिए गए दो आदेशों के बराबर नहीं है।
एरिक विल्सन

1
विंडोज कमांड लाइन में वर्जन कंट्रोल के तहत नहीं आने वाली सभी फाइलों को हटाने के लिए, इसका उत्तर यहां दिया गया है: stackoverflow.com/a/1502365/1385429
क्रिश्चियन वेस्टरबेक

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

27

एक आज्ञा है

svn revert -R .

या
आप --depth = infinity का उपयोग कर सकते हैं, जो वास्तव में ऊपर जैसा है:

svn revert --depth=infinity 

svn revertस्वाभाविक रूप से खतरनाक है, क्योंकि इसका पूरा उद्देश्य डेटा को फेंकना है - अर्थात्, आपके अनकही परिवर्तन। एक बार जब आप वापस लौट आते हैं, तो तोड़फोड़ उन अनछुए परिवर्तनों को वापस लाने का कोई तरीका नहीं प्रदान करता है


7
-Rके बराबर है--depth=infinity
माइकल बूर

4
आपका cmd "svn revert -R" वाक्य रचना में वर्तमान निर्देशिका को याद कर रहा है .. यह "svn revert -R" होना चाहिए।
बोधिसत्व

वर्तमान में, पोस्ट की तरह लगता -Rहै --depth-infinityजब यह नहीं है के लिए पारस्परिक रूप से अनन्य है ।
अहानिबेक्स्ड

@ahnbizcad वैसे भी उन दो सटीक समानार्थक शब्द नहीं हैं?
Nyerguds 10:

यही मेरा सवाल है। यह उत्तर दो ध्वनि को अलग बनाता है जब यह नहीं है। "परस्पर अनन्य" = पर्यायवाची के विपरीत
ahnbizcad


0

संशोधित फ़ाइलों को वापस करने के लिए:

sudo svn revert
svn status|grep "^ *M" | sed -e 's/^ *M *//'

मुझे लगता है कि मेरा प्रारूपण परिवर्तन आपको जो चाहता है, उसका प्रतिनिधित्व करता है। रोलबैक अगर आपको यह पसंद नहीं है। और धन्यवाद, एसवीएन के बुरे दिनों को याद रखना अच्छा है ... :)
एरिक विल्सन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.