سؤال

إذا قمت بحذف دليل من نسخة عمل SVN ، لكن لم ترتكب بعد ، فليس من الواضح كيفية استعادته. تقترح Google حتى "SVN Undo Delete قبل الالتزام" كاستعلام شائع عند كتابة "SVN Undo D" ، لكن نتائج البحث غير مفيدة.

تحرير: أود حلًا يعمل في Subversion 1.4.4

هل كانت مفيدة؟

المحلول

svn revert deletedDirectory

ها هي الوثائق ل svn revert أمر.


تعديل

لو deletedDirectory تم حذفه باستخدام rmdir و لا svn rm, ، ستحتاج إلى القيام به

svn update deletedDirectory

في حين أن.

نصائح أخرى

1) افعل

svn revert . --recursive

2) تحليل الإخراج لأخطاء مثل

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

3) اتصل بـ SVN لكل من أدلة الخطأ:

svn up dir1/dir2

ما نجح بالنسبة لي هو

svn revert --depth infinity deletedDir

قم بإجراء عملية العودة (العودية) من مستوى أعلى من الدليل الذي قمت بحذفه.

لجعلها في بطانة واحدة يمكنك تجربة شيء مثل:

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

كان أبسط الحلول التي يمكن أن أجدها هو حذف الدليل الأصل من نسخة العمل (مع RM -RF ، وليس SVN DELETE) ، ثم تشغيل تحديث SVN في الجد. على سبيل المثال ، إذا قمت بحذف A/B/C ، RM -RF A/B ، CD A ، SVN UP. هذا يعيد كل شيء. بالطبع ، هذا حل جيد فقط إذا لم يكن لديك تغييرات أخرى غير ملتزم بها في الدليل الأصل الذي تريد الاحتفاظ به.

نأمل أن تكون هذه الصفحة في الجزء العلوي من النتائج في المرة القادمة التي أقوم فيها بهذا السؤال. سيكون من الأفضل أن يقترح شخص ما طريقة أنظف ، بالطبع.

يمكنك إزالة المجلد وتحديث الدليل الأصل قبل الالتزام:

rm -r some_dir

svn update some_dir_parent

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top