কমিটমেন্টের পূর্বে এসভিএন মোছাটিকে পূর্বাবস্থায় ফেরান


135

আপনি যদি কোনও এসভিএন ওয়ার্কিং কপি থেকে কোনও ডিরেক্টরি মুছে ফেলে থাকেন তবে এখনও প্রতিশ্রুতিবদ্ধ না করেছেন, কীভাবে এটি ফিরে পাবেন তা সুস্পষ্ট নয়। গুগল এমনকি "এসএনএন পূর্বাবস্থায় ডি" টাইপ করার সময় একটি সাধারণ ক্যোয়ারী হিসাবে "কম্যান্ডের পূর্বে পূর্বাবস্থায় ফেরা মুছে ফেলার" পরামর্শ দেয়, তবে অনুসন্ধানের ফলাফলগুলি অসহনীয়।

সম্পাদনা করুন: আমি এমন একটি সমাধান চাই যা সাবলোশন 1.4.4 এ কাজ করে


মুলতুবি পরিবর্তনগুলি সহ আপনি মুছে ফেলা এমন কোনও ভাইবোন ডিরেক্টরি রয়েছে? যদি তা হয় তবে উচ্চতর স্তর থেকে ফিরে যাওয়ার সময় সতর্কতা অবলম্বন করুন আপনি পরিবর্তনগুলি হারাতে পারেন।
রাসেল

উত্তর:


145

svn revert deletedDirectory

svn revertকমান্ডের জন্য ডকুমেন্টেশন এখানে


সম্পাদনা

যদি deletedDirectoryব্যবহার করে মুছে ফেলা হয় rmdirএবং না svn rm, আপনার করা দরকার

svn update deletedDirectory

পরিবর্তে.


3
এটি অবশ্যই নতুন হতে হবে, এটি এসভিএন 1.4.4 এ কাজ করে না। (এটি আমি প্রথম চেষ্টা করেছি।)
ল্যাক

4
বিটিডব্লিউ: 1. এসএনএন রিভার্ট রিভার্ট: প্রাইসটিন ওয়ার্কিং কপি ফাইলটি পুনরুদ্ধার করুন (বেশিরভাগ স্থানীয় সম্পাদনাগুলি পূর্বাবস্থায় ফেরান) এটিই 1.4.4 বলে। ব্যবহার: ফেরত পাঠান ... দ্রষ্টব্য: এই সাবকম্যান্ডটি নেটওয়ার্ক অ্যাক্সেসের প্রয়োজন হয় না এবং যে কোনও বিরোধযুক্ত রাজ্যের সমাধান করে। তবে এটি মুছে ফেলা ডিরেক্টরিগুলি পুনরুদ্ধার করে না।
এলএসি

1
1.6.6 এর সাহায্যে একই পাঠ্য রয়েছে তবে আমি এটি পরীক্ষার সময় এটি আমার পক্ষে কাজ করেছিল। মনে রাখবেন যে আপনি svn deleteডিরেক্টরিটি মুছতে ব্যবহার না করে বরং এটি ব্যবহার করে মুছে ফেলেছেন rmdir, svn update deletedDirectoryপরিবর্তে আপনার প্রয়োজন হবে।
মাইকেল হ্যাকনার

আমি একটি স্থানীয় এসএনএন-এডি ডিরেক্টরি থেকে একটি ফাইল (এসএনএন ডেল) মুছে ফেলেছি। এসএনএন আপডেট কাজ করে নি তবে এসএনএন রিভার্ট কাজ করেছে। আমি ম্যাকের জন্য সিঙ্ক্রোএসভিএন ব্যবহার করছিলাম। তবে, টিপস জন্য ধন্যবাদ।
করিম

5
লিঙ্ক অনুসারে, সমস্ত বিষয়বস্তু সহ পুরো ডিরেক্টরিটি মুছে ফেলার জন্য এসএনএন-আর রিভার্ট ব্যবহার করুন, যা সম্ভবত আপনি চান। এসএনএন -R ব্যতীত পুনর্নির্দেশ কেবল ডিরেক্টরি পুনরুদ্ধার করে, সামগ্রীগুলি নয়।
n13

156

1) করুন

svn revert . --recursive

2) ত্রুটির জন্য পার্স আউটপুট

"Failed to revert 'dir1/dir2' -- try updating instead."

3) ত্রুটি প্রতিটি ডিরেক্টরি জন্য এসএনএন কল করুন:

svn up dir1/dir2

12
এটি সবচেয়ে সঠিক উত্তর, আপনাকে অনেক ধন্যবাদ, আপনি আমাকে অনেক সাহায্য করেছেন।
গ্রীনল্ডম্যান

1
সবকিছু বাদ দিয়ে যে? আপনি এটি করতে না চাইতে পারেন।
n13

1
আপনার যদি এমন একটি সম্পূর্ণ ফোল্ডার থাকে যা এসভিএন মনে করে যে এটি মুছে ফেলা হয়েছে তবে এটি সবচেয়ে বেশি অর্থবোধ করে। আমি একটি ওয়ার্কিং কপি চেক করার সময় ছিল। একটি ফোল্ডার ইতিমধ্যে বিদ্যমান, সুতরাং এটি বিরোধে স্থাপন করা হয়েছিল এবং চেক আউট করা হয়নি। এটি অন্য ফোল্ডারের লিঙ্ক ছিল। আমি এর নাম পরিবর্তন করেছি এবং svn upএটি পরীক্ষা করে নেওয়ার চেষ্টা করেছি, দ্বন্দ্ব অনুধাবন করেছিলাম, svn resolved fooএবং svn statusআমাকে বলেছিলাম যে আমার প্রায় 10 কে ফাইল হিসাবে চিহ্নিত রয়েছে Dsvn upএবং svn revertসেগুলি ফিরিয়ে আনেনি, তবে এটি সমস্যার সমাধান করেছে।
সিমবাচক

6
+1 --recursiveযার জন্য মুছে ফেলা ডিরেক্টরিগুলির বিষয়বস্তু পুনরুদ্ধার করতে সহায়তা করে।
ম্লেবিয়াস

1
হে আল্লাহ, তুমি আমার সন্ধ্যা বাঁচিয়েছ!
আর্টুরআলসাক 21

32

আমার জন্য যা কাজ করেছে তা হ'ল

svn revert --depth infinity deletedDir

এটি আমার জন্য দুর্দান্ত কাজ করেছে (এসএনএন 1.7.10) যেখানে এসএনএন রিভার্ট ডিলিটডির কাজটি করতে ব্যর্থ হয়েছিল। দুর্দান্ত উত্তর।
rtome

4

আপনি মুছে ফেলা ডিরেক্টরিটি উপরে একটি স্তর থেকে একটি (পুনরাবৃত্ত) রিভার্ট অপারেশন করুন।


1
এটি WAY প্রয়োজনের চেয়ে আরও বেশি পরিবর্তন মুছে ফেলবে।
মাইকেল হ্যাকার 14

এটি সাবভারশন ১.৪.৪ নিয়ে কাজ করে না (আমি এটি চেষ্টা করেছি)। ফেরত পাঠাতে এমনকি এসএনএন সহায়তাও বলেছে "এই সাবকম্যান্ডটি নেটওয়ার্ক অ্যাক্সেসের প্রয়োজন হয় না এবং যে কোনও বিরোধযুক্ত রাজ্যের সমাধান করে However তবে, এটি সরানো ডিরেক্টরিগুলি পুনরুদ্ধার করে না।" আমি দুঃখিত, আমার সংস্করণটি নির্দিষ্ট করা উচিত ছিল। 1.4.4 ম্যাক ওএস এক্স 10.5 এর সাথে আসে।
এলএসি

4

এটি একটি ওলাইনারে পরিণত করতে আপনি এর মতো কিছু চেষ্টা করতে পারেন:

svn status | cut -d ' ' -f 8 | xargs svn revert

আমি এর নামে স্পেস দিয়ে ডিরেক্টরি তৈরি করতে পারি। এটি 'কাটা' এএফআইকে ভেঙে যেতে পারে।
ডেনিস বারমেনকভ

1

আমি যে সহজ সমাধানটি সন্ধান করতে পারি তা হ'ল ওয়ার্কিং কপি থেকে মূল ডিরেক্টরি মুছে ফেলা (rm -rf সহ, এসএনএন মুছা নয়), এবং তারপরে পিতামহীতে এসএনএন আপডেট চালানো। উদাহরণস্বরূপ, আপনি যদি একটি / বি / সি, আরএম-আরএফ এ / বি, সিডি এ, এসএনএন মুছে ফেলেন। এটি সবকিছু ফিরিয়ে আনে। অবশ্যই, এটি কেবলমাত্র ভাল সমাধান যদি আপনি রাখতে চান যে প্যারেন্ট ডিরেক্টরিতে অন্য কোনও আপত্তিজনক পরিবর্তন নেই।

আশা করি পরের বার আমি এই প্রশ্নটি গুগল করলে এই পৃষ্ঠাটি ফলাফলের শীর্ষে থাকবে। এটি আরও ভাল হবে যদি কেউ অবশ্যই একটি ক্লিনার পদ্ধতির পরামর্শ দেন।


এটি ধরে নেওয়া হচ্ছে যে পিতামাতার এমন কোনও সাব-ডাইরেক্টরি নেই যা পরিবর্তনের জন্য মুলতুবি রয়েছে।
রাসেল

0

প্রতিশ্রুতি দেওয়ার আগে আপনি ফোল্ডারটি মুছে ফেলতে এবং অভিভাবকত্বের ডিরেক্টরি আপডেট করতে পারেন:

rm -r some_dir

svn update some_dir_parent

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.