كيف أقوم بتغيير المؤلف الافتراضي للوصول إلى مستودع SVN المحلي؟

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

سؤال

أستخدم TortoiseSVN للوصول إلى الريبو المحلي المستند إلى الملف.في جميع التزاماتي، المؤلف هو اسم تسجيل الدخول الخاص بي إلى Windows.هل من الممكن استخدام اسم مختلف؟

أعرف كيفية تغيير المؤلف بعد الالتزام ولكن كيف أتغير من قبل؟لا يعد تثبيت Apache/svnserver خيارًا.

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

المحلول

انه من الممكن.

السلحفاةSVN و ال svn يشارك عميل سطر الأوامر نفس موقع الإعدادات في مجلد ملف التعريف الخاص بك.لذلك يمكنك ببساطة الخروج من إصدار واحد باستخدام svn.exe:

$ svn co --username different_user_name file:///C:/path/to/your/repo

...وسيقوم Subversion باستبدال اسم المستخدم المرتبط بهذا المستودع بكل سرور.ستستخدم عمليات الالتزام الجديدة من TortoiseSVN دائمًا اسم المستخدم هذا، بغض النظر عن البرنامج الذي تقوم بإجراء عمليات السحب الجديدة فيه.

يجب أن يعمل الإجراء مع TortoiseSVN 1.5.5.إذا لم يحدث ذلك، فحاول إفراغ ذاكرة التخزين المؤقت لمصادقة svn (%APPDATA%\Subversion\auth\svn.username) أولاً.

نصائح أخرى

حل آخر محتمل (لكنني كذلك لا الدعوة إليه) هو استخدام برنامج نصي للربط من جانب العميل قبل الالتزام لتغيير اسم المستخدم.

تمت مناقشة البرامج النصية للخطاف في كتاب Subversion، كما تمت مناقشة الخطافات المحلية في "البرامج النصية للخطاف الجانبي للعميل" في تعليمات TortoiseSVN.

وبقدر ما أعرف، لا تقدم TortoiseSVN أي طريقة للقيام بذلك.

من المفترض أنه لا يُنظر إليها على أنها مشكلة كبيرة، نظرًا لأن الوصول المستند إلى الملف ليس عمليًا لسيناريوهات المستخدمين المتعددين، وبالنسبة لمستخدم واحد، فإن اسم المؤلف أقل أهمية.

يتمثل الحل البديل المحتمل في إنشاء اسم مستخدم Windows آخر باسم المؤلف الذي تريده والاتصال به.

لم يسبق لي أن قمت باستضافة svn على جهاز يعمل بنظام Windows، لذا فهذه لقطة في الظلام.قد تتمكن من إنشاء مستخدم Windows جديد وتحديد هذا المستخدم عند التصفح والسحب والالتزام وما إلى ذلك.لنفترض أنك تريد إجراء تغييرات مثل msznajder.قم بإنشاء مستخدم بهذا الاسم في Windows، ثم حاول تصفح المستودع باستخدام متصفح Repo الخاص بـ TortoiseSVN وحدد اسم المستخدم في عنوان URL - شيء من هذا القبيل file:///msznajder@localhost/some/file/path.

أقترح إعداد خطاف ما بعد الالتزام (في مجلد خطافات الريبو الخاص بك - ما عليك سوى نسخ ملف post-commit-hook.tmpl إلى post-commit-hook.bat وإفراغه [1]

svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo> [2]

[1] بشرط تثبيت SlikSvn أو ما شابه ذلك، على سبيل المثال.الوصول إلى سطر الأوامر svn ممكن)

[2] (أو .sh إذا كان نظام التشغيل Linux، مع التمهيد #!/bin/bash) بنفس المحتوى

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