يوجد خطاف التغييرات الزئبقية مع الحالة -1
-
25-09-2019 - |
سؤال
أنا أستخدم Mercurial SCM على شبكة محلية باستخدام مجلد مشترك عادي بدلاً من HTTP وأواجه مشكلة في تشغيل خطاف التحديث التلقائي.
لقد دخلت هذا الخطاف مفصلة في الأسئلة الشائعة. هذا يقوم بتثبيت الخطاف ، لكن عندما أدفع شيئًا ما إلى المستودع البعيد ، أحصل على خطأ:
added 1 changesets with 1 changes to 1 files
running hook changegroup: hg update >&2
warning: changegroup hook exited with status -1
هنالك سؤال آخر stackoverflow على غرار هذا ، لكنه لا يقدم أي حلول بخلاف أنه قد يكون خطأ في الأذونات في مكان ما.
هل واجه أي شخص آخر هذه المشكلة وهل يمكن لأي شخص آخر إلقاء الضوء على هذا أو يعطيني رؤوسًا في مكان البدء في إصلاح هذا؟ شكرًا.
المحلول
هو hg
في مسار البحث القياسي الخاص بك؟
استبدال الخاص بك .hgrc
التكوين باستخدام برنامج نصي مخصص ، على سبيل المثال
[hooks]
changegroup = /var/tmp/myscript.sh
[ui]
debug = true
(UNIX) في /var/tmp/myscript.sh
اكتب شيئًا كهذا:
#!/bin/sh
set -e
echo ---------- >>/tmp/myscript.log
set >>/tmp/myscript.log
echo --- >>/tmp/myscript.log
pwd >>/tmp/myscript.log
hg update >>/tmp/myscript.log 2>&1
(UNIX) لا تنسى وضع علامة على أنها قابلة للتنفيذ: chmod a+x /var/tmp/myscript.sh
(Windows) ملف الدُفعة المقابل myscript.bat
هو:
@echo off
echo ------ >>%TEMP%\myscript.log
set >>%TEMP%\myscript.log
echo --- >>%TEMP%\myscript.log
cd >>%TEMP%\myscript.log
hg update >>%TEMP%\myscript.log 2>&1
(Windows) بالطبع ، الخط في .hgrc
هو changegroup = \your\directory\myscript.bat
.
تشغيل الخاص بك hg push
أمر بإعادة إنتاج المشكلة.
تحقق من محتوى /tmp/myscript.log
ملف.