ফেব্রুয়ারী ২০১ / / সংস্করণ ১.৯ হিসাবে সাবভার্সনের একটি অন্তর্নির্মিত "কমিট কমিট" / "কমিট অন উপেক্ষা করুন" বৈশিষ্ট্য নেই। এই উত্তরটি একটি অ-আদর্শ কমান্ড-লাইন কর্মক্ষেত্র
ওপি যেমন বলেছে, টরটোইজএসভিএন-এর একটি অন্তর্নির্মিত চেঞ্জলিস্ট রয়েছে, "অবহেলা-অন-কমিট", যা স্বয়ংক্রিয়ভাবে কমিট থেকে বাদ পড়ে। কম্যান্ড-লাইন ক্লায়েন্ট এই তাই আপনি (আদেশ সহকারে সঙ্গে) এই একই আচরণ সম্পন্ন করার জন্য একাধিক তালিকা পরিবর্তনগুলি ব্যবহার করতে হবে না, :
- কাজের জন্য একটি আপনি প্রতিশ্রুতিবদ্ধ করতে চান [কাজ]
- আপনি যে বিষয়গুলিকে অগ্রাহ্য করতে চান সেগুলির জন্য একটি
টর্টোইজএসভিএন-এর নজির যেহেতু আমি যে ফাইলগুলি প্রতিশ্রুতিবদ্ধ করতে চাই না তার জন্য আমার উদাহরণগুলিতে "উপেক্ষা-অন-প্রতিশ্রুতি" ব্যবহার করি। আমি যে ফাইলগুলি করি তার জন্য আমি "কাজ" ব্যবহার করব, তবে আপনি যে কোনও নাম বেছে নিতে পারেন।
প্রথমে সমস্ত ফাইলকে "ওয়ার্ক" নামের একটি চেঞ্জলিস্টে যুক্ত করুন। এটি অবশ্যই আপনার ওয়ার্কিং কপির মূল থেকে চালানো উচিত:
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.
একটি বিকল্প হ'ল আপনি 'কাজ' চেঞ্জলিস্টে প্রতিশ্রুতিবদ্ধ প্রতিটি ফাইল যুক্ত করা এবং এমনকি একটি উপেক্ষা তালিকা বজায় রাখবেন না, তবে এটিও অনেক কাজ। সত্যই, একমাত্র সহজ, আদর্শ সমাধান যদি / যখন এটি এসভিএন নিজেই প্রয়োগ করা হয়। ভবিষ্যতে এই পরিবর্তন ঘটে যদি সাবভার্সন ইস্যু ট্র্যাকার, এসভিএন-2858 এ সম্পর্কে এটি সম্পর্কে দীর্ঘকালীন সমস্যা রয়েছে ।