كيفية إصلاح "احتواء منطقة مشرف نسخ العمل مفقودة" في SVN؟

StackOverflow https://stackoverflow.com/questions/1394076

  •  21-09-2019
  •  | 
  •  

سؤال

لقد حذفت يدويًا دليلًا أضفته للتو ، في وضع عدم الاتصال ، في مستودعي. لا يمكنني استعادة الدليل.

أي محاولة لإجراء تحديث أو الالتزام ستفشل مع:

"blabla/.svn" containing working copy admin area is missing.

أنا أفهم لماذا ، ولكن هل هناك على أي حال لإصلاح هذا.

لا أريد الخروج من الريبو بأكمله وإضافة التغييرات إليه يدويًا ، سيستغرق الأمر ساعات.

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

المحلول

وفقا لهذا: http://www.devcha.com/2008/03/svn-directory-svn-containing-working.html

راجع المجلد "Blabla" إلى موقع مختلف ثم نسخ مجلد .SVN مرة أخرى إلى "Blabla" الأصلي.

نصائح أخرى

fwiw ، كان لدي موقف مماثل واستخدمت SVN -Force Delete __dir__. التي حلت القضية بالنسبة لي. ثم واصلت العمل مع نسخة العمل الخاصة بي كالمعتاد.

ما فعلته لإصلاح هذا هو حذف محلي نسخة من المجلد قيد السؤال ثم قم svn update من الوالد مباشرة بعد ذلك.

تم إصلاحه بشكل صحيح.

هل يمكنك محاولة التحقق من نسخة جديدة من الدليل الأصل؟

تعديل: لكي أكون أكثر تحديداً بعض الشيء ، قصدت أن أقترح رفع مستوى وحذف الدليل المحتوي. ثم افعل أ

svn update --set-depth infinity

لاستبدال الدليل.

أضفت دليلًا إلى SVN ، ثم قمت بحذف مجلد .SVN بطريق الخطأ.

انا إستعملت

svn delete --keep-local folderName

لإصلاح مشكلتي.

لقد فعلت للتو 'svn revert /blabla' وقد نجح ، لقد عاد المجلد ويمكنني حذفه

حدث الخطأ "دليل" بلاه/.SVN "الذي يحتوي على منطقة مسؤول نسخ العمل" عندما حاولت إضافة الدليل إلى المستودع ، لكن لم يكن لدي ما يكفي من امتيازات نظام الملفات للقيام بذلك. لم يكن الدليل بالفعل في المستودع ، لكنه كان يزعم أنه تحت التحكم في الإصدار بعد الإضافة الفاشلة.

سمح لي التحقق من نسخة من الدليل الأصل إلى موقع آخر ، واستبدال مجلد .SVN في نسخة الوالدين لنسخة العمل بإضافة وارتكاب الدليل الجديد بنجاح (بعد إصلاح أذونات الملف ، بالطبع).

نستخدم Maven و SVN. لقد كان فحصًا خاطئًا للدليل المستهدف إلى SVN الذي يسبب هذا الخطأ. إزالة ذلك ثابت كل شيء ، إذا كان هذا التلميح يساعد أي شخص.

حاولت svn rm --force /path/to/dir ولكن دون جدوى ولكن انتهى الأمر بالركض svn up وقد أصلحها لي.

كان لدي هذا الخطأ مؤخرًا ، عندما تم استبعاد الملفات عن طريق الإعدادات في SVN Globals. كان الخطأ سيئًا بشكل خاص لأنني قمت أيضًا بحذف الملفات مباشرة من المستودع - وهذا يعني أن الحلول المذكورة أعلاه كانت ترفض لن تنجح. في هذه الحالة ، سمح لي حذف دليل .SVN يدويًا من الدليل الذي أزلته من SVN بتشغيل تحديث سمح لي بعد ذلك بالالتزام.

واجهت نفس المشكلة ، عندما كنت أحاول التبديل "C: Superfolder"

رسائل خاطئة:

Directory 'C:\superfolder\subfolder\.svn'
containing
working copy admin area is missing
Please execute the 'Cleanup' command.

بعد محاولة القيام "بالتنظيف" ، حصلت على الخطأ التالي:

 Cleanup failed to process the following paths:
 C:\superfolder\
'C:\superfolder\subfolder\' is not a working copy directory

المحلول:

  1. حذف المجلد "المجلد الفرعي"
  2. تنظيف المجلد "Superfolder"
  3. حاول التبديل مرة أخرى المجلد "Superfolder"

هذا عمل بالنسبة لي. واسمحوا لي أن أعرف إذا كان يعمل أيضًا من أجلك.

كان لدي هذا الخطأ مؤخرًا. كان سببها الجذر امتلاك بعض الملفات في الدليل الذي يعطي هذا الخطأ.

بعد أن غيرت الأذونات التي عملت كل شيء كما هو متوقع.

لم أفهم الكثير من مشاركاتك. الحل الخاص بي

  1. قطع المجلد الإشكالي ونسخه إلى موقع ما.
  2. هل احصل على حل من التخريب إلى دليل عمل آخر (جديد فقط).
  3. أضف المجلد المحفوظ إلى نسخة العمل الجديدة وأضفه كمشروع موجود (إذا كان مشروعًا كما في حالتي).
  4. يقترف؛

كان لدي هذه القضية. ما عليك سوى نقل Blabla إلى موقع آخر مؤقتًا ، وأخبر SVN بإرجاعه ، ثم نقله مرة أخرى. يتم التعامل معها كإضافة جديدة. بسيط!

أبسط ذلك ساعدني:

rm -rf _dir_in_question_
svn up

إذا كان لديك تغييرات في DIR الإشكالية ، فهذا ليس حلاً جيدًا لك.

صادفت هذه المشكلة عند استبدال مكتبة واجهة برمجة تطبيقات الطرف الثالث بإصدار أحدث ، ولم يعمل أي من الحلول هنا حقًا لأنني أردت استبدال إصدار SVN بالإصدار المحلي. كان حلي على النحو التالي:

1) انقل المجلد المخالف إلى منزلي ، وحذفه من SVN والالتزام:

mv foldercausingproblem ~/
svn --force delete foldercausingproblem
svn commit --message "Temporary removing folder with old API"

2) أعد المجلد مرة أخرى ، وأضفه إلى SVN والالتزام مرة أخرى:

mv ~/foldercausingproblem ./
svn --force add .
svn commit --message "Finally all working!"

مزعج قليلاً للالتزام مرتين ، لكن يبدو أنه عمل بشكل جيد.

فقط في حال يريد أي شخص حلًا آخر:

  1. تحقق في مجلدك الجديد باسم "FolderName2"
  2. اذهب إلى متصفح SVN repo
  3. إعادة تسمية "FolderName2" إلى "المجلد"
  4. في Windows Explorer قم بتحديث

آمل أن يساعد شخص ما.

-ev

بالنسبة لي ، حدثت نفس المشكلة عندما أكون على حد سواء:

  • تم الحذف (--force) ملف .map
  • تمت إضافة *.map إلى svn:ignore عبر svn propedit svn:ignore .

كان حلي ل:

  1. التراجع عن التغييرات على الممتلكات
  2. ارتكاب تغييرات في الملفات
  3. الخروج نسخة جديدة من المستودع (للأسف!)
  4. تغيير العقار والالتزام

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

بعد ذلك ، قمت بحذف الدليل محليًا (بعد النسخ الاحتياطي بالطبع) قمت بتحديث تنظيف و SVN وكان كل شيء يعمل مرة أخرى.

بادئ ذي بدء ، الخروج عن المشروع في نظامك في مجلد. ثم قم بإزالة مجلد .svn من Project Project ونسخ مجلد .svn من مجلد Checkout الجديد والصق في مجلد نسخة العمل. ثم يتم حل المشكلة.

كانت المهمة المشتركة التي واجهتها هي الاضطرار إلى أخذ دليل ريبي واحد في تنظيمه ونسخه إلى ريبو آخر - كلاهما تحت SVN وكلاهما يسمى نفس الاسم. الطريقة التي عملت بالنسبة لي هي ما يلي:

svn --force delete PROBLEMATIC-DIR
svn export "https://OLD REPO-A/ new-repo-A"
svn add new-repo-A
svn commit new-repo-A
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top