هذا هو الأمر mr الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
السيد - أداة لإدارة جميع عمليات إعادة الشراء للتحكم في الإصدار الخاص بك
موجز
mr [خيارات] الخروج
mr [الخيارات] التحديث
mr [الخيارات] الحالة
mr [خيارات] نظيف [-f]
mr [خيارات] الالتزام [-m "رسالة"]
mr [خيارات] سجل [-م "رسالة"]
mr [الخيارات] جلب
mr [خيارات] دفع
mr [الخيارات] فرق
mr [الخيارات] سجل
mr [خيارات] نمط جريب
mr [خيارات] أمر التشغيل [param ...]
mr [خيارات] bootstrap src [الدليل]
mr [خيارات] التسجيل [المستودع]
mr [خيارات] قسم التكوين ["setting=[value]" ...]
mr [خيارات] العمل [المعلمات ...]
mr [خيارات] [متصل | غير متصل]
mr [خيارات] تذكر الإجراء [المعلمات ...]
الوصف
mr هي أداة لإدارة جميع عمليات إعادة الشراء الخاصة بالتحكم في الإصدار. يمكنه الخروج أو التحديث أو الأداء
إجراءات أخرى على مجموعة من المستودعات كما لو كانت مستودعًا واحدًا مدمجًا. هو - هي
يدعم أي مجموعة من Subversion و git و cvs و Mercurial و BZR و DARCS و Fossil و
يمكن بسهولة إضافة مستودعات الصدق ودعم أنظمة التحكم في الإصدار الأخرى.
mr الأقراص المضغوطة في جميع المستودعات المسجلة وتعمل عليها في مستوى عملك أو أقل منه
الدليل. أو، إذا كنت في دليل فرعي لمستودع تخزين لا يحتوي على أي دليل آخر
المستودعات المسجلة، ستبقى في هذا الدليل، وتعمل على هذا المستودع فقط،
mr تم تكوينه بواسطة ملفات .mrconfig، التي تسرد المستودعات. يبدأ بقراءة
ملف .mrconfig في الدليل الرئيسي الخاص بك، وهذا بدوره يمكن أن يؤدي إلى تحميل ملفات .mrconfig بشكل متسلسل
من المستودعات. كما أنه يبحث تلقائيًا عن ملف .mrconfig في الملف الحالي
الدليل، أو في أحد الدلائل الأم.
يجب أن تكون هذه الأوامر المحددة مسبقًا مألوفة إلى حد ما لمستخدمي أي تحكم في الإصدار
النظام:
الخروج (أو شارك)
التحقق من أي مستودعات لم يتم سحبها بالفعل.
تحديث
يقوم بتحديث كل مستودع من المستودع البعيد الذي تم تكوينه.
إذا لم يتم سحب المستودع بعد، فسيتم فحصه أولاً.
الحالة
يعرض تقرير حالة لكل مستودع، يوضح التغييرات غير الملتزم بها
موجودة في المستودع. لأنظمة التحكم في الإصدار الموزع، يظهر أيضًا
الفروع المحلية غير المدفوعة.
نظيف
طباعة الملفات التي تم تجاهلها والملفات التي لم يتم تعقبها وغيرها من الملفات في دليل العمل.
تسمح المعلمة -f الاختيارية بإزالة الملفات بالإضافة إلى طباعتها.
ارتكاب (أو CI)
يرتكب تغييرات على كل مستودع. (بشكل افتراضي، يتم دفع التغييرات إلى جهاز التحكم عن بعد
المستودع أيضًا، عند استخدام الأنظمة الموزعة مثل git. إذا كنت لا تحب هذا
افتراضيًا، يمكنك تغييره في .mrconfig، أو استخدام السجل بدلاً من ذلك.)
تسمح المعلمة -m الاختيارية بتحديد رسالة التزام.
سجل
يسجل التغييرات في المستودع المحلي، لكنه لا يدفعها إلى جهاز التحكم عن بعد
مخزن. مدعوم فقط لأنظمة التحكم في الإصدار الموزع.
تسمح المعلمة -m الاختيارية بتحديد رسالة التزام.
جلب
يتم الجلب من المستودع البعيد لكل مستودع، لكنه لا يقوم بتحديث العمل
ينسخ. مدعوم فقط لبعض أنظمة التحكم في الإصدار الموزع.
دفع
يدفع التغييرات المحلية الملتزم بها إلى المستودع البعيد. لا يوجد خيار مركزي
أنظمة التحكم في الإصدار.
فرق
إظهار اختلاف التغييرات المتاحة.
سجل إظهار سجل الالتزام.
نمط جريب
يبحث عن نمط في كل مستودع باستخدام الأمر الفرعي grep. يستخدم ack-grep على
VCS التي لا تملك خاصة بهم.
أمر التشغيل [المعلمة ...]
يقوم بتشغيل الأمر المحدد في كل مستودع.
هذه الأوامر متاحة أيضًا:
بوتستراب إس آر سي [الدليل]
يتسبب السيد في استرداد المصدر "src" واستخدامه كملف .mrconfig للتحقق من
المستودعات المدرجة فيه، في الدليل المحدد.
mr يفهم عدة أنواع من المصادر:
عنوان URL للحليقة
"src" قد يكون عنوان URL يفهمه حليقة.
نسخ عبر SSH
لاستخدام اللجنة الدائمة للتنزيل، قد يكون "src" بالصيغة "ssh://[user@]host:file".
ملف محلي
يمكنك استرداد ملف التكوين بوسائل أخرى وتمريره مسار باسم "سرك".
المدخلات القياسية
إذا كان المصدر "src" يتكون من شرطة واحدة "-"، فستتم قراءة ملف التكوين من الملف القياسي
إدخال.
سيتم إنشاء الدليل إذا لم يكن موجودا. إذا لم يتم تحديد أي دليل، فسيتم
سيتم استخدام الدليل الحالي.
في حالة خاصة، إذا كان المصدر "src" يتضمن مستودعًا باسم "."، فسيتم تحديد ذلك
الخروج إلى الجزء العلوي من الدليل المحدد.
القائمة (أو ليرة سورية)
قم بإدراج المستودعات التي سيعمل عليها السيد.
تسجيل جديد
قم بتسجيل مستودع موجود في ملف mrconfig. افتراضيًا، يكون المستودع الموجود في
تم تسجيل الدليل الحالي، أو يمكنك تحديد دليل للتسجيل.
يتم اختيار ملف mrconfig الذي تم تعديله إما عن طريق الخيار -c، أو عن طريق البحث
لأقرب معروف في الدليل الحالي أو فيه.
التكوين
يضيف أو يعدل أو يزيل أو يطبع قيمة من ملف mrconfig. المعلمة التالية هي
اسم القسم الذي توجد فيه القيمة. لإضافة قيم أو تعديلها، استخدم واحدة أو أكثر
حالات "الإعداد = القيمة". استخدم "setting =" لإزالة أحد الإعدادات. استخدم فقط "الإعداد"
للحصول على قيمة هذا الإعداد.
على سبيل المثال، لإضافة (أو تحرير) مستودع في src/foo:
السيد التكوين src/foo checkout="svn co svn://example.com/foo/trunk foo"
لإظهار الأمر الذي يستخدمه السيد لتحديث المستودع في src/foo:
تحديث السيد التكوين src/foo
لرؤية المكتبة المضمنة لوظائف Shell الموجودة في السيد:
السيد التكوين الافتراضي ليب
يتم اختيار ملف mrconfig المستخدم إما عن طريق الخيار -c، أو عن طريق البحث عن
الأقرب المعروف في أو في أحد أصل الدليل الحالي.
حاليا
ينصح السيد أنه في وضع غير متصل بالشبكة. سيتم تنفيذ أي أوامر تفشل في وضع عدم الاتصال
يتم تذكره وإعادة المحاولة عندما يتم إخبار السيد أنه متصل بالإنترنت.
online
ينصح السيد أنه في وضع الاتصال بالإنترنت مرة أخرى. الأوامر التي فشلت أثناء وجودك في وضع عدم الاتصال
سيتم إعادة التشغيل.
تذكر
تذكر أمرًا ليتم تشغيله لاحقًا عندما يعود السيد إلى وضع الاتصال بالإنترنت. هذا ضمنا
يضع السيد في وضع غير متصل بالشبكة. يمكن أن يكون الأمر أي أمر السيد العادي. وهذا مفيد
عندما تعلم أن الأمر سيفشل بسبب عدم الاتصال بالإنترنت، وبالتالي لا تريد تشغيله
إنه الآن على الإطلاق، ولكن تذكر فقط تشغيله عند معاودة الاتصال بالإنترنت.
مساعدة
يعرض هذه المساعدة.
يمكن اختصار الإجراءات إلى أي سلسلة فرعية لا لبس فيها، لذا فإن "mr st" يعادل "mr"
الحالة"، و"mr up" يعادل "mr update"
يمكن تمرير معلمات إضافية إلى معظم الأوامر، ويتم تمريرها دون تغيير إلى
نظام التحكم في الإصدار الأساسي. يكون هذا مفيدًا في الغالب إذا كان السيد المستودعات سيعمل
على الجميع استخدام نفس نظام التحكم في الإصدار.
OPTIONS
-d دليل
--دليل الدليل
يحدد الدليل الأعلى الذي mr يجب أن تعمل في. الافتراضي هو الحالي
عمل اخراجي.
-ج مسكونفيغ
--config.mrconfig
استخدم ملف mrconfig المحدد. الافتراضي هو استخدام كليهما ~/.mrconfig وأيضا
بحث عن .mrconfig الملف في الدليل الحالي، أو في أحد أصوله
الدلائل.
-f
--فرض
إجبار السيد على التصرف في المستودعات التي عادة ما يتم تخطيها بسبب وجودها
ترتيب.
--force-env
إجبار السيد على التنفيذ على الرغم من تعيين متغيرات البيئة التي يحتمل أن تكون خطرة.
-v
- الإسراف
كن مطولا.
-m
- الحد الأدنى
تقليل الإخراج. إذا فشل الأمر أو كان هناك أي إخراج، فسيتم تنفيذ الإخراج المعتاد
يتم اظهار.
-q
--هادئ
كن هادئاً. يؤدي هذا إلى منع إخراج السيد المعتاد، بالإضافة إلى أي إخراج من الأوامر التي
يتم تشغيلها (بما في ذلك إخراج stderr). إذا فشل الأمر، سيتم عرض الإخراج.
-k
--غير آمن
اقبل شهادات SSL غير الموثوقة عند التمهيد.
-s
--الحالات
قم بتوسيع سطر الإحصائيات المعروض في النهاية ليشمل معلومات حول بالضبط
المستودعات التي فشلت وتم تخطيها، إن وجدت.
-i
- تفاعلي
الوضع التفاعلي. إذا فشلت معالجة المستودع، فسيتم بدء قذيفة فرعية
والتي يمكنك استخدامها لحل المشكلة أو التحقيق فيها. قم بالخروج من القشرة الفرعية للمتابعة
تشغيل السيد.
-ن [الرقم]
--لا يوجد تكرار [الرقم]
إذا لم يتم تحديد رقم، فما عليك سوى العمل على مستودع الدليل الحالي،
لا تتكرر في مستودعات أعمق.
إذا تم تحديد رقم، فسوف يتكرر هذا العدد في المستودعات على الأكثر
الدلائل الفرعية عميقة. على سبيل المثال، مع -n 2 سوف يتكرر إلى ./src/foo، لكن ليس
./src/packages/bar.
-ي [الرقم]
--الوظائف [العدد]
تشغيل العدد المحدد من المهام بالتوازي، أو عدد غير محدود من المهام بدون
الرقم المحدد. يمكن أن يؤدي هذا إلى تسريع العمليات مثل التحديثات بشكل كبير. ليس
الموصى بها للعمليات التفاعلية.
لاحظ أن تشغيل أكثر من 10 مهام في وقت واحد من المحتمل أن يتعارض مع اتصال ssh
حدود. سيؤدي تشغيل ما بين 3 إلى 5 مهام في المرة الواحدة إلى تسريع التحديثات بشكل جيد
دون تحميل الجهاز أكثر من اللازم.
-t
--نثق كل
ثق بجميع ملفات mrconfig حتى لو لم تكن مدرجة فيها ~/.mrtrust. استخدم بحذر.
-p
--طريق
يتم تجاهل هذه العلامة القديمة.
مركونفيج FILES
وفيما يلي مثال .mrconfig ملف:
[سرك]
الخروج = svn الخروج svn://svn.example.com/src/trunk src
سلسلة = صحيح
[سرك/لينكس-2.6]
الخروج = git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git &&
سي دي لينكس 2.6 &&
git checkout -b mybranch Origin/master
إنّ .mrconfig يستخدم الملف متغير تنسيق ملف INI. الخطوط التي تبدأ بـ "#" هي
تعليقات. يمكن متابعة القيم إلى السطر التالي عن طريق وضع مسافة بادئة للسطر
مسافة بيضاء.
يسمح القسم "الافتراضي" بتعيين القيم الافتراضية للأقسام التي تأتي بعده.
يسمح قسم "الاسم المستعار" بإضافة أسماء مستعارة للإجراءات. كل إعداد هو اسم مستعار، وله
القيمة هي الإجراء الذي يجب استخدامه.
تضيف جميع الأقسام الأخرى مستودعات. يحدد رأس القسم الدليل الذي يوجد به الملف
يقع المستودع. وهذا يتعلق بالدليل الذي يحتوي على ملف mrconfig،
ولكن يمكنك أيضًا اختيار استخدام المسارات المطلقة. (لاحظ أنه يمكنك استخدام Environment
المتغيرات في أسماء الأقسام؛ سيتم تمريرها من خلال الصدفة للتوسع. ل
على سبيل المثال، "[$HOSTNAME]"، أو "[${HOSTNAME}foo]").
داخل القسم، يحدد كل إعداد أمر shell ليتم تشغيله للتعامل مع إجراء معين. السيد
يحتوي على معالجات افتراضية لـ "التحديث" و"الحالة" و"الالتزام" والإجراءات القياسية الأخرى.
عادةً ما تحتاج فقط إلى تحديد ما يجب فعله من أجل "الخروج". هنا تحدد الأمر
للتشغيل من أجل إنشاء الخروج من المستودع. سيتم تشغيل الأمر في
الدليل الأصلي، ويجب إنشاء دليل المستودع. لذا استخدم "git clone"، "svn
الخروج"، "فرع bzr" أو "الخروج bzr" (لفرع منضم)، وما إلى ذلك.
لاحظ أن أوامر الصدفة هذه يتم تشغيلها في بيئة الصدفة "set -e"، حيثما توجد
المعلمات الإضافية التي تمررها متاحة في $@. جميع الأوامر بخلاف "الخروج" هي
يتم تشغيله داخل المستودع، ولكن ليس بالضرورة في الجزء العلوي منه.
تم تعيين متغير البيئة "MR_REPO" على المسار المؤدي إلى الجزء العلوي من المستودع. (ل
بدلاً من ذلك، يتم تعيين إجراء "التسجيل"، "MR_REPO" على الاسم الأساسي للدليل الذي
يجب إنشاؤه عند التحقق من المستودع.)
تم تعيين متغير البيئة "MR_CONFIG" على ملف .mrconfig الذي يحدد الريبو
يتم التصرف بناءً عليه، أو، إذا لم يكن الريبو موجودًا بعد في ملف التكوين، فإن ملف .mrconfig ملف ذلك
ينبغي تعديلها لتسجيل الريبو.
يتم تعيين متغير البيئة "MR_ACTION" على الأمر الذي يتم تشغيله (تحديث، الخروج،
الخ).
بعض الإعدادات لها معاني خاصة:
تخطى
إذا تم تعيين "تخطي" وكان الأمر الخاص به صحيحًا، فحينئذٍ mr سوف تخطي التصرف على ذلك
مخزن. يتم تمرير الأمر باسم الإجراء في $1.
هنا مثالان. الأول يتخطى الريبو ما لم يتم تشغيل السيد بواسطة جوي. الثاني
يستخدم وظيفة Hours_since (المضمنة في مكتبة السيد المدمجة) لتخطي تحديث ملف
الريبو إلا إذا مرت 12 ساعة على الأقل منذ آخر تحديث.
[غموض]
الخروج = ...
تخطي = اختبار `whoami` != joey
[لينكس]
الخروج = ...
تخطي = [ "$1" = تحديث ] && ! ساعات_منذ "$1" 12
هناك طريقة أخرى لاستخدام التخطي وهي إجراء عملية دفع بطيئة. وهذا يجعل السيد تخطي العمل على الريبو
إلا إذا كان موجودا بالفعل. لتمكين الريبو، عليك التحقق منه بشكل صريح
(باستخدام "mr --force -d foo checkout").
[فو]
الخروج = ...
تخطي = كسول
طلب
يمكن استخدام إعداد "الطلب" لتجاوز الترتيب الافتراضي للمستودعات. ال
قيمة الطلب الافتراضية هي 10. استخدم قيمًا أصغر لمعالجة المستودعات
في وقت سابق، وتتم معالجة القيم الأكبر لإنشاء المستودعات لاحقًا.
لاحظ أنه إذا كان المستودع موجودًا في دليل فرعي لمستودع آخر، فسيتم طلب الأمر
لا ينصح بمعالجته مسبقًا.
سلسلة
إذا تم تعيين "السلسلة" وعاد أمرها صحيحًا، إذن mr سيحاول تحميل أ .mrconfig
الملف من جذر المستودع.
تتضمن
إذا تم تعيين "include"، فسيتم تشغيل الأمر الخاص به، ويجب إخراج ملف mrconfig إضافي
محتوى. يتم تضمين المحتوى كما لو كان جزءًا من ملف التضمين.
على عكس كل شيء آخر، لا يلزم وضع كلمة "تضمين" داخل القسم.
mr يشحن العديد من المكتبات التي يمكن تضمينها لإضافة دعم للإصدار الإضافي
عناصر التحكم في النوع (unison، git-svn، git-fake-bare، git-subtree). لضمهم
الكل، يمكنك استخدام:
تشمل = القط /usr/مشاركة/السيد/*
راجع الملفات الفردية للحصول على التفاصيل.
تم الحذف
إذا تم تعيين "محذوف" وعاد الأمر الخاص به صحيحًا، إذن mr سوف يعامل المستودع على أنه
تم الحذف. لن يقوم فعليًا بحذف المستودع أبدًا، ولكنه سيحذر إذا رأى ملف
دليل المستودع. يكون هذا مفيدًا عند مشاركة ملف mrconfig واحد بين
أجهزة متعددة، لتتبع المستودعات القديمة وتذكر حذفها.
lib يمكن أن يحتوي إعداد "lib" على بعض أكواد الصدفة التي سيتم تشغيلها قبل كل أمر،
يمكن أن تكون هذه طريقة مفيدة لتحديد وظائف الصدفة لاستخدام الأوامر الأخرى.
على عكس معظم الإعدادات الأخرى، يمكن تحديد هذا عدة مرات، وفي هذه الحالة
يتم تجميع أجزاء كود القشرة معًا بشكل تراكمي.
الإصلاحات
إذا تم تعيين "الإصلاحات"، فسيتم تشغيل الأمر الخاص بها عندما يتم سحب المستودع، أو
محدث. يوفر هذا طريقة سهلة للقيام بأشياء مثل إصلاحات الأذونات أو غيرها
تعديلات على محتوى المستودع، كلما تم تغيير المستودع.
وظائف
إذا تم تعيين "الوظائف"، فقم بتشغيل العدد المحدد من المهام بالتوازي. هذا يمكن إلى حد كبير
تسريع العمليات مثل التحديثات.
لاحظ أن تشغيل أكثر من 10 مهام في وقت واحد من المحتمل أن يتعارض مع اتصال ssh
حدود. سيؤدي تشغيل ما بين 3 إلى 5 مهام في المرة الواحدة إلى تسريع التحديثات بشكل جيد
دون تحميل الجهاز أكثر من اللازم.
VCS_action
عند البحث عن أمر لتشغيل إجراء معين، يبحث السيد أولاً عن الإعداد
بنفس اسم الإجراء. إذا لم يتم العثور على ذلك، فإنه يبحث عن الإعداد المسمى
"VCS_action" (استبدال اسم نظام التحكم في الإصدار والإجراء).
داخليًا، لدى السيد إعدادات "git_update"، و"svn_update"، وما إلى ذلك. لتغيير الإجراء
التي يتم إجراؤها لنظام تحكم إصدار معين، يمكنك تجاوز VCS هذه
إجراءات محددة. لإضافة نظام جديد للتحكم في الإصدار، يمكنك فقط إضافة VCS خاص
الإجراءات لذلك.
قبل وبعد_
إذا تم تعيين "pre_action"، فسيتم تشغيل الأمر الخاص به قبل أن ينفذ السيد الإجراء المحدد.
وبالمثل، يتم تشغيل أوامر "post_action" بعد قيام السيد بتنفيذ الإجراء المحدد بنجاح
فعل. على سبيل المثال، يتم تشغيل "pre_commit" قبل الالتزام؛ يتم تشغيل "post_update" بعد ذلك
التحديث.
_ألحق
يمكن إضافة أي إعداد بـ "_append"، لإضافة قيمة إضافية إلى الموجود
قيمة الإعداد. بهذه الطريقة، يمكن بناء الإجراءات بشكل تراكمي.
VCS_test
يتم تحديد اسم نظام التحكم في الإصدار نفسه عن طريق تشغيل كل تعريف
إجراء "VCS_test"، حتى ينجح أحد الإجراءات.
غير موثوق به مركونفيج FILES
نظرًا لأن ملفات mrconfig يمكن أن تحتوي على أوامر shell عشوائية، فيمكنها فعل أي شيء. هذا
المرونة جيدة، ولكنها تسمح أيضًا لملف mrconfig الضار بحذف ملفك بالكامل
الدليل الرئيسي. قد يكون مثل هذا الملف موجودًا داخل مستودع يحتوي على الملف الرئيسي الخاص بك
~/.mrconfig نفذت الشيكات. لتجنب المخاوف بشأن الأوامر الشريرة في ملف mrconfig، يا سيد
الإعدادات الافتراضية لقراءة جميع ملفات mrconfig بخلاف الملف الرئيسي ~/.mrconfig في وضع غير موثوق به.
في الوضع غير الموثوق به، تقتصر ملفات mrconfig على تشغيل الأوامر الآمنة المعروفة فقط (مثل
"git clone") بطريقة تم فحصها بعناية.
لتكوين السيد للثقة في ملفات mrconfig الأخرى، قم بإدراجها في ~/.mrtrust. ملف mrconfig واحد
يجب أن يتم سردها في كل سطر. يجب إدراج اسم المسار بالكامل، أو يمكن إدراج اسم المسار
أبدا ب ~/ لتحديد ملف متعلق بالدليل الرئيسي الخاص بك.
OFFLINE LOG FILE
إنّ ~/.mrlog يحتوي الملف على أوامر تذكر السيد تشغيلها لاحقًا، نظرًا لكونه
غير متصل على الانترنت. يمكنك حذف أو تحرير هذا الملف لإزالة الأوامر، أو حتى لإضافة أخرى
أوامر تشغيل "mr online". إذا كان الملف موجودا، يفترض السيد أنه في وضع غير متصل بالشبكة.
إمتداد
يمكن تمديد السيد لدعم أشياء مثل انسجام و git-svn. بعض الملفات التي توفر مثل هذا
الامتدادات متوفرة في /سر/مشاركة/السيد/. راجع الوثائق في الملفات للحصول على التفاصيل
حول استخدامها.
EXIT الوضع
يقوم السيد بإرجاع قيمة غير صفرية في حالة فشل الأمر في أي من المستودعات.
استخدم السيد عبر الإنترنت باستخدام خدمات onworks.net