Svnsync لا يعمل: تغيير Revprop تم حظره بواسطة خطاف Change قبل إعادة التغير

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

  •  30-09-2019
  •  | 
  •  

سؤال

أحاول نسخ مستودع مستخدم باستخدام SVNSYNC (أقوم بذلك بهذه الطريقة لضمان الاستخدام الأمثل لمستودعتي طالما أن جهازه يعمل) ولكن لا يبدو أنه يعمل.

لديّ جهازان (لقد غيرت الأسماء ، ولكن ليس INFOS الأخرى)

  • الأولي: Linux مخصص مع Subversion 1.4.5 (R25188) (كما ذكرت SVNADMIN). من هذا الجهاز ، أحاول المزامنة على مستودع يسمى المصدر. يمكن الوصول إلى هذا المستودع باستخدام بروتوكول HTTP ، وتم إنشاء مستخدم SVNSYNC. في SOURCE/hooks, ، هناك ملف واحد قابل للتنفيذ فقط: pre-revprops-change.
  • النهائي: Ubuntu مع Subversion 1.6.6 (R40053) (كما ذكرت Svnadmin). على هذا الجهاز ، سأتزامن مع مستودع يسمى SVN16. يمكن الوصول إلى هذا المستودع باستخدام بروتوكول HTTP ، وتم إنشاء مستخدم SVNSYNC. في svn16/hooks, الملفات القابلة للتنفيذ pre-revprop-change و start-commit. على هذا الجهاز ، dav_svn.conf يحتوي على التوجيه SVNParentPath /var/svn, وجعل جميع المستودعات في متناول http: // final/svn

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

أحاول تنفيذ الأمر التالي

svnsync initialize http://FINAL/svn/svn16 http://INITIAL/SOURCE

لكنه ينتهي دائمًا بالظهور

Authentication realm: <http://FINAL:80> All Subversion Repositories hosted on FINAL
Password for 'ubunut-user':
Authentication realm: <http://FINAL.fr:80> All Subversion Repositories hosted on FINAL
Username: svnsync
Password for 'svnsync':
svnsync: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svnsync: At least one property change failed; repository is unchanged
svnsync: Error setting property 'sync-lock':
Revprop change blocked by pre-revprop-change hook (exit code 255) with no output.

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

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

المحلول

تبين أنني كنت غبي من الغبية.

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

كشفت بلدي pre-revprop-change تم كتابة الخطاف بشكل غير صحيح مع

"#!/bin/sh"
exit 0

من الواضح أن إزالة " حل القضية.

نصائح أخرى

مجرد ملاحظة صغيرة ، لتجنب خطأ في كثير من الأحيان.

في حالة هذا الخطأ أولاً تأكد من ذلك revprops change الملف قابل للتنفيذ. إذا لم يكن الأمر كذلك ، فنف:

chmod +x $DEST_SVN_REPO/hooks/pre-revprops-change,

أين $ dest_svn_repo - مسار إلى مستودع الوجهة.

انظر هنا:https://svn.apache.org/repos/asf/subversion/trunk/notes/svnsync.txt

لقد فشل تكوين الوجهة. يجب أن يتم مرحلة init (سمات نسخ). داخل برنامج REVPROPS-Change Script ، يجب أن يسمح لاسم المستخدم بالرمز إلى التحديث. وإلا فإن الوجهة ستضر من قبل المستخدمين. لا يمكن لـ SVN العمل كعقد نشطة. عادةً ما تقوم بتكوين البرنامج النصي الخطاف لمنع أي تعديل من قبل المستخدمين. يجب أن يكون لديهم وصول REAAD فقط.

انتقل بشكل عام إلى خدمة الويب Superuser. هناك هذا خارج الموضوع.

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