لا يمكن للسلحفاة الالتزام-"لا يمكن للنظام العثور على الملف المحدد"
-
02-10-2019 - |
سؤال
لقد التقطت فقط 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 المرئية. لم أغير عن علم أي إعدادات أخرى.
شكرًا على أي مساعدة ، ويرجى طلب المزيد من المعلومات ، لا أعرف ما الذي يجب أن أعطيه في هذا الموقف.
المحلول
جرب هذا:
- إزالة السلحفاة
- أعد تشغيل النظام (بشكل أساسي للتأكد من عدم وجود عمليات من السلحفاة ، مثل مراقبة الملفات ، والتي يمكن أن تضع أقفال على الملفات)
- سطر الأوامر intall hg
- هل العادية
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
ثم لم يتم تكوين السلحفاة بشكل صحيح.
آمل أن يحل هذا المشكلة بالنسبة إلى البروتوكول الاختياري والآخرين الذين يواجهون هذه المشكلة وسحب شعرهم في محاولة لإصلاحها.