سؤال

الوضع: أنا جديد على الزئبق. لقد قمت مؤخرًا بإعداد وبدأت في استخدام مستودع في نموذج أوصى لي (انظر مخطط رودي أدناه). كانت الأمور تسير على ما يرام لكنني واجهت مشكلة التطبيق العملية الأولى. يبدو أن الزئبق موجه نحو الاندماج الأمامي/المخلوط وأود أن أتراجع. أرغب في تنظيف فرعنا الافتراضي والمستقر من خلال البدء بفرع البائع ، وإعادة تغيير تغييراتنا والتحقق من ذلك على أنه افتراضي. ثم دمج ذلك في مستقر.

V1----V2-------------V3---------V4     Vendor
 \     \              \          \
  D1----D2---D3--D4-D5-D6-D7-D8---D9   default
                  \           \    \
                   S1----------S2---S3 stable

السؤال: كيف أبدأ بفرع البائع كأول ، دمج التغييرات الافتراضية والالتزام بالفرع الافتراضي؟

اعتقدت أن ما يلي سيفعل ذلك ، لكن التحديث يغير دليل العمل.

hg update -C vendor
hg update default
hg merge
هل كانت مفيدة؟

المحلول

هناك طريقتان للذهاب هذا. واحد صحيح والواحد. سأفعل الحق أولاً:

hg update default
hg --config ui.merge=internal:other merge vendor

يقوم ذلك بتحديث والديك إلى الافتراضي ودليل العمل إلى الافتراضي ثم يندمج في محتويات البائع ، ولكنه يقوم بذلك باستخدام أداة دمج داخلية دائماً يختار الخيار الآخر عندما يكون هناك أي اختلاف ، لذلك سيكون لديك افتراضي يشبه البائع بعد هذا الدمج (والالتزام).

الطريقة المتستر هي:

hg update -C vendor
hg debugsetparent default
hg commit

أين debugsetparent هو powertool يقوم بجزء "تغيير الوالدين" من التحديث دون تحديث الملفات بالفعل في دليل العمل.

نصائح أخرى

على الرغم من أنه يفتقر إلى السياق الذي يقدمه هذا السؤال وإجاباته ، فقد وجدت إجابة رسمية على ويكي Mercurial.

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