যদি আমি চালনা করি svn rm file
তবে স্থানীয় ওয়ার্কিং কপি থেকে ফাইলটি সরানো হবে।
আমি এখন যা করি তা হ'ল:
$ cp file file2
$ svn rm file
$ svn ci
$ mv file2 file
আমি কীভাবে এসএনএন ব্যবহার করে স্থানীয় ফাইল মুছে ফেলা এড়াতে পারি svn rm
?
যদি আমি চালনা করি svn rm file
তবে স্থানীয় ওয়ার্কিং কপি থেকে ফাইলটি সরানো হবে।
আমি এখন যা করি তা হ'ল:
$ cp file file2
$ svn rm file
$ svn ci
$ mv file2 file
আমি কীভাবে এসএনএন ব্যবহার করে স্থানীয় ফাইল মুছে ফেলা এড়াতে পারি svn rm
?
উত্তর:
আপনি --keep-local
কমান্ড-লাইন বিকল্পটি চান। এটি আপনার ফাইল সিস্টেম থেকে অপসারণ না করে সংস্করণ নিয়ন্ত্রণ থেকে ফাইলটিকে সরিয়ে দেয়।
$ svn rm --keep-local my_important_file
দ্রষ্টব্য:--keep-local
শুধুমাত্র প্রভাবিত svn rm
আপনার কপি করুন। অন্যান্য ব্যবহারকারীর ফাইলের নিজস্ব স্থানীয় অনুলিপি মুছে ফেলা হতে পারে যদি না তারা তাদের পরিবর্তিত পরিবর্তনগুলির কারণে তাদের স্থানীয় অনুলিপি এবং সংগ্রহস্থলের মধ্যে বিরোধ না করে। এটি পছন্দসই ফলাফল নাও হতে পারে। নীচে মন্তব্য দেখুন।
স্থানীয়ভাবে স্থানীয়ভাবে মোছা না করে কোনও ফাইল এসভিএন থেকে অপসারণ করা এখন সাধারণ সমস্যা নেই। এর একটি বিশিষ্ট উদাহরণ হল একটি Eclipse প্রকল্পের .classpath ফাইল। এই কনফিগারেশন ফাইলটি এসভিএন-এর অধীনে রাখা যতক্ষণ না প্রকল্পে ব্যবহৃত সমস্ত মেশিনের একই গ্রহ এবং জাভা ইনস্টলেশন সমাপ্ত হয়। এই শর্তটি লঙ্ঘন হয়ে গেলে কমিটগুলি অন্যান্য গ্রহন প্রকল্প ভাঙতে শুরু করে। এই বিন্দুটি হ'ল কোথাও আইএসটি মোছা না করে এসভিএন থেকে একটি ফাইল সরিয়ে ফেলতে হবে।
svn rm --keep-local .classpath
কাজটি একটি মেশিনে এবং সেই সময়ে সঠিকভাবে কাজ করে।
সমস্যা হ'ল অন্য মেশিনগুলি সেই ফাইলটি (আপডেটে) হারিয়ে ফেলতে পারে বা পুনরায় জীবিত করতে পারে (প্রতিশ্রুতিবদ্ধভাবে)। এসভিএন এর ত্রুটিটি না হয় --keep-local
সংগ্রহস্থলটিতে পরিচালনা করা বা অন্যান্য কার্যকরী অনুলিপিগুলিতে প্রচার করা। সুতরাং উপরের অন্যান্য সমস্ত মেশিনে কমান্ডটি কার্যকর করতে হবে - কোনও কমিট বা আপডেটের আগে সেরা before
এটি অবশ্যই 90% কার্যকর করবে। মুছে ফেলা এবং পুনরায় সংস্করণগুলি হঠাৎ করেই ঘটবে। আমার সমাধানটি হ'ল প্রতিটি মেশিন রয়েছে, আমার কাছে প্রত্যক্ষ বা পরোক্ষ অ্যাক্সেস আছে, করতে হবে
svn rm --keep-local .classpath
copy .classpath .classpath-nameOfTheMachine
svn add .classpath-nameOfTheMachine
এটিকে একেবারেই কুৎসিত বলা যায় না কেন তাকে খুব সম্ভবত "সমাধান" বলা হয় called তবুও এটি সর্বদা পরবর্তী যে কোনও দুর্ঘটনা দ্রুত মেরামত করার অনুমতি দেয়।
এই সুনির্দিষ্ট প্রশ্নের উত্তর আমার কাছে নেই, তবে আমার কাছে সম্পর্কিত প্রশ্নের উত্তর রয়েছে, যা স্থানীয়ভাবে মুছে না ফেলে সংস্করণ নিয়ন্ত্রণ থেকে সমস্ত ডিরেক্টরি (যেমন একটি নির্দিষ্ট নয়) ডিরেক্টরিতে সরিয়ে ফেলতে হয়। এই সমাধানটি একটি বৈজ্ঞানিক লিনাক্স বাস্তবায়ন থেকে আসে।
ls -a .svn
নিয়ন্ত্রণকারী ডেটা সঞ্চয় করে এমন এসএনএন ডিরেক্টরি প্রদর্শন করা উচিত। কেবল:
rm -r .svn
এই ডিরেক্টরি থেকে মুক্তি পাবেন। তারপরে টাইপ করুন:
svn status
একটি 'সতর্কতা তৈরি করবে: এই ডিরেক্টরিটি কোনও ওয়ার্কিং কপি নয়' ত্রুটি তৈরি করে, কারণ এটি আর সংস্করণ নিয়ন্ত্রণে নেই।
আশা করি এটা কাজে লাগবে.