هل يمكن أن يعيش مستودع الزئبق داخل مستودع آخر مركبة؟

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

سؤال

هل يمكن لثئبي الريبو أن يعيش داخل ريبو زئبق آخر على نظام الملفات المحلي الخاص بي؟

screenshot of one repo inside another

أنا أسحب wiki bitbucket لـ 'Sandbox' ، وأريد أن أعرف ما إذا كان يجب وضع هذا repos/sandbox/wiki أو repos/sandbox-wiki.

هل السابق بخير؟

تحرير: انظر الجهاز الفرعي.

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

المحلول

نعم و لا. يعتمد على ما تريد فعله. يمكنك إنشاء repo 'sandbox/wiki' ولكن لن يتم الالتزام بالملفات الموجودة في هذا repos الداخلية في repo sandbox الخارجي (jason على حق). إذا كنت لا تريد ، لا مشكلة.

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

من Sandox Root Dutery:

   hg add wiki/myfile
   abort: path 'wiki/myfile' is inside repo 'wiki'

نصائح أخرى

الإجابة المختصرة هي نعم ، لكن لا أستطيع أن أتخيل لماذا تريد ذلك.

في مثالك ، أعتقد أنك يجب أن تذهب مع:

repos/sandbox-wiki

تحرير] الإضافة:

Yo Dowg, I herd you like repositories.

So we put a repo in your repo so you can version while you version

:-)

لا يسمح الزئبق بمستودعات متداخلة ، ولكن هناك سبب واحد على الأقل:

تخيل أنك تعمل في مشروع: /myProject. في هذا المجلد ، تضع كل شيء: الرمز ، الوثائق ، الاختبارات ، إلخ.

تريد النسخ الاحتياطي لعملك لأنه مهم للغاية ، لذلك يمكنك إنشاء مستودع لـ /myProject. بعد ذلك ، تستخدم العمل الإضافي لحزم لتوفير تطور /myProject ودعمها في ذاكرة فلاش USB حتى تتمكن من استعادة كل شيء في حالة كسر محرك الأقراص الثابتة.

تذكر أن /myProject يحتوي على كل شيء. ومن بين كل هذه الأشياء ، هناك الكود الرئيسي وبعض المشاريع الإضافية. تريد أيضًا تتبع تقدم مشروع مساعد في /myProject /AuxiliaryProject ، بحيث تستخدم Mercurial لتتبع تطوره.

أيضًا ، تريد أن يكون لديك مستودع منفصل للرمز الرئيسي: /myProject /Main

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

أعتقد أن Mercurial يجب أن يعطي المستخدم عدة خيارات عند تهيئة مستودع. على سبيل المثال: - تجاهل المستودعات المتداخلة - تشمل المستودعات المتداخلة ولكن تجاهل مجلدات .hg (أي تعمل كما لو لم تكن هناك مستودعات متداخلة ولكن لا تتجاهل المعلومات الواردة في عمليات الاستعداد المتداخلة). - تشمل المستودعات المتداخلة وأيضًا تضمين مجلدات .HG (من المنطقي لأغراض النسخ الاحتياطي)

--------- التحرير: Subrepositories هي ميزة تعمل في التقدم:https://www.mercurial-scm.org/wiki/Subrepos

أيضًا ، هناك امتداد يسمى "الغابة" قد تصبح قديمة في المستقبل:https://www.mercurial-scm.org/forestextension

ستحتاج إلى إعداد .hgignore ملف في Sandbox لاستبعاد Wiki لأن Mercurial يفترض أنه مسؤول عن جميع أحفاد. من المحتمل أن يولد هذا ارتباك المستخدم أكثر مما يستحق.

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