سؤال

أنا أستخدم 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 ملف.

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