फरवरी 2016 / संस्करण 1.9 के अनुसार, तोड़फोड़ में अंतर्निहित "प्रतिबद्ध नहीं है" / "प्रतिबद्ध पर ध्यान न दें" सुविधा नहीं है। यह उत्तर एक गैर-आदर्श कमांड-लाइन वर्कअराउंड है
ओपी के अनुसार, TortoiseSVN में एक बिल्ट इन चैंजिस्ट, "इग्नोर-ऑन-कमिट" है, जो स्वचालित रूप से कमिट से बाहर रखा गया है। कमांड-लाइन क्लाइंट के पास यह नहीं है, इसलिए आपको एक ही व्यवहार (कैविएट के साथ) को पूरा करने के लिए कई चैनल का उपयोग करने की आवश्यकता है :
- एक काम के लिए आप [काम] करना चाहते हैं
- उन चीजों के लिए जिन्हें आप अनदेखा करना चाहते हैं [अनदेखा करें]
चूँकि TortoiseSVN के साथ मिसाल है, मैं उन फाइलों के लिए अपने उदाहरणों में "इग्नोर-ऑन-कमिट" का उपयोग करता हूं, जिन्हें मैं कमिट नहीं करना चाहता। मैं उन फ़ाइलों के लिए "काम" का उपयोग करूँगा, जो आप करते हैं, लेकिन आप जो भी नाम चाहते थे, उसे चुन सकते हैं।
सबसे पहले, सभी फाइलों को "काम" नाम के एक चेंजलिस्ट में जोड़ें। इसे आपकी वर्किंग कॉपी के मूल से चलाया जाना चाहिए:
svn cl work . -R
यह कार्यशील प्रतिलिपि में सभी फ़ाइलों को "कार्य" नाम के चैंजिस्ट के पास पुनरावर्ती रूप से जोड़ देगा। इसका एक नुकसान यह भी है - क्योंकि नई फाइलें काम की कॉपी में जुड़ जाती हैं, आपको विशेष रूप से नई फाइलें जोड़ने की आवश्यकता होगी या वे शामिल नहीं होंगे। दूसरा, अगर आपको इसे फिर से चलाना है तो आपको फिर से अपनी "इग्नोर-ऑन-कमिट" फाइलों को फिर से जोड़ना होगा। आदर्श नहीं है - आप किसी फ़ाइल में अपनी 'अनदेखी' सूची को बनाए रखना शुरू कर सकते हैं जैसा कि दूसरों ने किया है।
फिर, उन फ़ाइलों के लिए जिन्हें आप बाहर करना चाहते हैं:
svn cl ignore-on-commit path\to\file-to-ignore
चूँकि फाइलें केवल एक चेंजलिस्ट में हो सकती हैं, अपने पिछले "काम" ऐड के बाद इस तरह से चलने से आप जिस फाइल को "काम" चैनल से अनदेखा करना चाहते हैं उसे हटा दें और इसे "इग्नोर-ऑन-कमिट" चेंजेलिस्ट में डाल दें।
जब आप अपनी संशोधित फ़ाइलों को प्रतिबद्ध करने के लिए तैयार होते हैं, तो आप अपनी इच्छा के अनुसार "कम-काम" जोड़ते हैं:
svn commit --cl work -m "message"
यहाँ एक सरल उदाहरण मेरी मशीन पर दिखता है:
D:\workspace\trunk>svn cl work . -R
Skipped '.'
Skipped 'src'
Skipped 'src\conf'
A [work] src\conf\db.properties
Skipped 'src\java'
Skipped 'src\java\com'
Skipped 'src\java\com\corp'
Skipped 'src\java\com\corp\sample'
A [work] src\java\com\corp\sample\Main.java
Skipped 'src\java\com\corp\sample\controller'
A [work] src\java\com\corp\sample\controller\Controller.java
Skipped 'src\java\com\corp\sample\model'
A [work] src\java\com\corp\sample\model\Model.java
Skipped 'src\java\com\corp\sample\view'
A [work] src\java\com\corp\sample\view\View.java
Skipped 'src\resource'
A [work] src\resource\icon.ico
Skipped 'src\test'
D:\workspace\trunk>svn cl ignore-on-commit src\conf\db.properties
D [work] src\conf\db.properties
A [ignore-on-commit] src\conf\db.properties
D:\workspace\trunk>svn status
--- Changelist 'work':
src\java\com\corp\sample\Main.java
src\java\com\corp\sample\controller\Controller.java
src\java\com\corp\sample\model\Model.java
M src\java\com\corp\sample\view\View.java
src\resource\icon.ico
--- Changelist 'ignore-on-commit':
M src\conf\db.properties
D:\workspace\trunk>svn commit --cl work -m "fixed refresh issue"
Sending src\java\com\corp\sample\view\View.java
Transmitting file data .done
Committing transaction...
Committed revision 9.
एक विकल्प यह होगा कि आप हर उस फ़ाइल को जोड़ दें जो आप 'काम' के लिए करना चाहते हैं, और यहां तक कि एक अनदेखा सूची भी नहीं बनाएंगे, लेकिन यह बहुत काम की चीज है। वास्तव में, केवल सरल, आदर्श समाधान है / जब यह एसवीएन में ही लागू हो जाता है। भविष्य में यह परिवर्तन होने की स्थिति में, सबवर्सन इश्यू ट्रैकर, SVN-2858 में इस बारे में एक लंबा मुद्दा है ।