استخدام زئبقي، هناك طريقة سهلة لفرق عمل نسخة بلدي مع ملف طرف في مستودع البعيد الافتراضي

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

سؤال

عند استخدام زئبقي، أود أن تكون قادرة على مهرجان دبي السينمائي الدولي في عمل نسخة من ملف مع ملف طرف في الافتراضي الخاص بي مستودع بعيد. هل هناك طريقة سهلة للقيام بذلك؟

وأعرف أنني أستطيع أن قيام "الزئبق الواردة -p" لرؤية التصحيح مجموعات من التغييرات المقبلة في، ولكن سيكون من الرائع أن نرى بشكل مباشر على التغيرات الفعلية لملف معين ان كنت تحصل لو لم أفعل سحب من أحدث الأشياء (أو ما يمكن أن توضع حول طرد).

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

وأنا أحاول أن بيع زئبقي لزملائي في الفريق، وأحد أعضاء فريقي جلبت هذا الأمر اليوم كشيء يكونوا قادرين على القيام بذلك بسهولة في SVN مع أدوات واجهة المستخدم الرسومية الخاصة بهم.

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

المحلول

وبعد بعض الحفر، جئت عبر Rdiff تمديد أن يفعل معظم ما أريد أن.

ولا يأتي مع زئبقي، ولكن يمكن تثبيته عن طريق الاستنساخ المستودع:

hg clone http://hg.kublai.com/mercurial/extensions/rdiff 

وبعد ذلك modifing الملف ~ / .hgrc لتحميل التمديد:

[extensions] 
rdiff=~/path/to/rdiff/repo/rdiff.py

وانها ملتوي قليلا لأنه في الواقع يعدل "الزئبق فرق" القيادة الحالية عن طريق الكشف عن إذا كانت المعلمة الأولى هي URL بعيد. إذا كان بعد ذلك سوف مهرجان دبي السينمائي الدولي هذا الملف ضد ملف معلومات الخاصة بك في الريبو المحلي (وليس نسخة العمل). هذا كما الريبو بعيد هو الأول في الحجج، انها عكس ما كنت أتوقع، ولكن هل يمكن أن تمر "--reverse" إلى الأمر الزئبق فرق للتبديل التي حولها.

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

hgrdiff() {
    hg commit -m "temp commit for remote diff" && 
    hg diff --reverse http://my_hardcoded_repo $* &&
    hg rollback      # revert the temporary commit
}

وبعد ذلك يطلق عليه بما يلي:

hgrdiff <filename to diff against remote repo tip>

نصائح أخرى

هل يمكن أن تحاول وجود اثنين من مستودعات محليا - واحد الاشياء واردة، والآخر للالمنتهية ولايته. ثم يجب أن تكون قادرة على القيام فرق مع أي أدوات. انظر هنا:

http://weblogs.java.net/blog /kohsuke/archive/2007/11/using_mercurial.html

والتوسع في طريقة لارس (للا تعمل سبب تعليق)، يمكنك استخدام الخيار -R على الأمر diff مرجع مستودع المحلي. وبهذه الطريقة يمكنك استخدام التطبيق فرق نفسه الذي قمت بتحديده في hg

<ع> استخدام القوالب التي يمكنك الحصول على قائمة بجميع الملفات التي تم تغييرها:

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