سؤال

لقد قمنا عن طريق الخطأ بحذف مجلد "العلامات" من مستودع Subversion الخاص بنا حيث كنا ننوي حذف علامة واحدة محددة فقط.ما هي أسهل طريقة لاستعادة مجلد "العلامات"؟

نحن نستخدم TortoiseSVN كعميل لدينا واعتقدت أنه عندما أذهب إلى متصفح الريبو وأظهر السجل، سيكون هناك شيء مثل "التراجع عن التغييرات من هذه المراجعة" على غرار ما يمكنك رؤيته في مربع حوار مماثل في نسخة العمل الخاصة بك.ولكن لا يوجد مثل هذا الأمر هناك ...

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

المحلول

ومجرد نسخ الجزء الخلفي مجلد حذف من المراجعة في وقت سابق.

في متصفح مستودع، انقر فوق الزر المسمى الرأس (في الركن العلوي الأيمن) لتظهر للمراجعة هناك مجلد لا يزال موجودا، ثم انقر بزر الماوس الأيمن هذا المجلد واختر "نسخ إلى ..." وأدخل مسار هناك تريد أن يكون المجلد إعادة خلق (ربما نفس المسار الذي هو بالفعل في مربع النص).

نصائح أخرى

لعشاق سطر الأوامر:

  • ابحث أولاً عن رقم المراجعة الذي حدث فيه الحذف:

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder
    

لنفترض أنك وجدت أن الدليل قد تم حذفه في المراجعة 999 (راجع للشغل:قد تجد أنه من الأسهل العثور على رقم المراجعة باستخدام متصفح svn repo)

  • انسخ المجلد من المراجعة ناقص 1

    svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
    

لقد انتهيت!

في حالتك قد يكون هذا:

    svn copy http://svnserver/project/tags@998 http://svnserver/project/tags -m "undeleted folder"

ومعظم هذه الإجابات ستعمل على درجة ولكن الجواب الصحيح هو دانيال. هل دمج عكسي. وبهذه الطريقة يمكنك الاحتفاظ النسخة التاريخ.

وsvn merge -r R1:R2

وحيث R1 هو مراجعة أنك في، وR2 هو المراجعة الذي يحتوي على حذف ملف / مجلد.

وسوف تحتاج إلى القيام <م> الدمج العكسي .

لمزيد من التفاصيل حول كيفية القيام بذلك (والى حد كبير أي شيء آخر كنت تريد من أي وقت مضى أو الحاجة إلى القيام مع SVN)، والكتاب الرسمي هو متاح <لأ href = "http://svnbook.red-bean.com/ ليلا / EN / svn.branchmerge.basicmerging.html # svn.branchmerge.basicmerging.resurrect "يختلط =" noreferrer نوفولو "> على الانترنت .

وبعد يوم من الإجابة raudi والتي عملت بالنسبة لي بعد هذه المراجعة.

قد تحتاج بعض العملاء إس على رقم المراجعة المحدد باستخدام المعلمة مراجعة -r بدلا من استخدام @ بعد المجلد كما يلي:

svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"

اذهب إلى Repository Browser من الخاص بك repository, ، انقر بزر الماوس الأيمن على المجلد الأصلي حيث يوجد ملف المجلد المحذوف موجود.الآن، Show Log للمجلد الأصلي، وحدد المراجعة السابقة التي أجريت فيها عملية الحذف.سيكون لديك قائمة وانقر بزر الماوس الأيمن على المجلد من معلومات المراجعة ثم حدد Update to this Revision.

انتهيت

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