لا يمكن للسلحفاة الالتزام-"لا يمكن للنظام العثور على الملف المحدد"

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

سؤال

لقد التقطت فقط TortoiseHg لاستخدامه للتحكم في المصدر الموزع على Windows وتثبيته على محرك الأقراص C. ثم قمت بإنشاء مستودع (يقع في D: Projects).

عندما أحاول ارتكاب التغييرات ، فإنه يعطيني الخطأ

"الإجهاض: لا شيء: لا يمكن للنظام العثور على الملف المحدد"

في نافذة جديدة بعنوان "الالتزام". هذا يسبب الالتزام بالإجهاض. لا يحدد أي ملف ، وعندما أقوم بتشغيل HG -TRACEBRE CANKING -M ، فإنه يعطي هذا كإخراج:

Traceback (most recent call last):
  File "mercurial\dispatch.pyo", line 54, in _runcatch
  File "mercurial\dispatch.pyo", line 483, in _dispatch
  File "mercurial\dispatch.pyo", line 351, in runcommand
  File "mercurial\dispatch.pyo", line 534, in _runcommand
  File "mercurial\dispatch.pyo", line 488, in checkargs
  File "mercurial\dispatch.pyo", line 481, in <lambda>
  File "mercurial\util.pyo", line 420, in check
  File "mercurial\commands.pyo", line 762, in commit
  File "mercurial\cmdutil.pyo", line 1202, in commit
  File "mercurial\commands.pyo", line 757, in commitfunc
  File "mercurial\localrepo.pyo", line 816, in commit
  File "mercurial\localrepo.pyo", line 1053, in status
  File "mercurial\dirstate.pyo", line 629, in status
  File "mercurial\dirstate.pyo", line 540, in walk
  File "mercurial\localrepo.pyo", line 796, in fail
Abort: Adding: The system cannot find the file specified
abort: Adding: The system cannot find the file specified

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

لقد قمت بتكوين TortoiseHg مع كل من اسم المستخدم على الصعيد العالمي وللمستودع. أيضًا ، تم تحديد KDIFF3 كأداة دمج ثلاثي الاتجاهات وأداة DIFF المرئية. لم أغير عن علم أي إعدادات أخرى.

شكرًا على أي مساعدة ، ويرجى طلب المزيد من المعلومات ، لا أعرف ما الذي يجب أن أعطيه في هذا الموقف.

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

المحلول

جرب هذا:

  1. إزالة السلحفاة
  2. أعد تشغيل النظام (بشكل أساسي للتأكد من عدم وجود عمليات من السلحفاة ، مثل مراقبة الملفات ، والتي يمكن أن تضع أقفال على الملفات)
  3. سطر الأوامر intall hg
  4. هل العادية hg commit -m "yourmessage"

إذا نجح هذا ، فمن الأرجح أن أداة المراقبة من TortoiseHg تحتفظ بقفل على بعض الملفات (تطبيق صينية النظام).

قد يكون الأمر كذلك أيضًا أن شخصًا آخر يفعله (وليس السلحفاة) ، محرر على سبيل المثال؟ أداة Diff؟ إلخ؟

أخيرًا ، هناك سبب آخر يمكن أن يحدث هذا هو: شخص ما خداع مع ملفات repo داخل دليل .hg ... لا يبدو الأمر كذلك

نصائح أخرى

أنا أتعرف على HG وأحاول السلحفاة HG وأركض إلى نفس المشكلة بالضبط مثل OP. استنساخت مستودعًا من أحد مشاريع المصدر المفتوح وقمت بإجراء بعض التغييرات على المصدر. ومع ذلك ، عندما أحاول الالتزام ، أحصل على رسالة متابعة من نافذة حوار الالتزام:

الإجهاض: لا شيء: لا يمكن للنظام العثور على الملف المحدد

النزول إلى سطر الأوامر واستخدام HG Commit -M "Message" يعمل. أنا أستخدم هذا ضمن نظام التشغيل Windows 7 64 بت وجربت نسختين السلحفاة 1.1.5 وأحدث 1.1.6.1 (إصدار 64 بت) اعتبارًا من هذا المنشور.

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

شكرًا

تحديث: لقد حللت المشكلة! بعد بعض التعاون على قائمة البريد السلحفاة ، حددت السبب الجذري لهذا الخطأ. يحدث هذا الخطأ لأنه عندما يحاول TortoiseHg ارتكاب معلمة "لا شيء" إضافية حتى نهاية سطر الأوامر الالتزام.

يمكن أن يحدث هذا إذا قمت بتعيين إعدادات المستودع الخاص بك-> الالتزام> قائمة الالتزام التلقائي بـ "لا شيء". الإصلاح بسيط - تأكد من تعيين قائمة التزام التلقائي وقائمة استبعاد التلقائي على <غير محدد>. تحقق من الإعدادات العالمية الخاصة بك أيضًا وتأكد من تعيين هذين الحقولين بنفس الطريقة.

بالإضافة إلى ذلك ، لمعرفة ما إذا تم تعيين قائمة التزام التلقائي وقائمة استبعاد التلقائي بشكل صحيح

hg showconfig --debug tortoisehg

إذا كان يحتوي على خط شيء بهذا المعنى:

mercurial.ini:15: tortoisehg.autoinc=None

ثم لم يتم تكوين السلحفاة بشكل صحيح.

آمل أن يحل هذا المشكلة بالنسبة إلى البروتوكول الاختياري والآخرين الذين يواجهون هذه المشكلة وسحب شعرهم في محاولة لإصلاحها.

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