سؤال

هل هناك طريقة لمعرفة التخريب "تحديث/دمج إلا إذا كان من شأنه أن يتسبب الصراع"?

أنا أعلم أنك يمكن استخدام --dry-run / status -u للتحقق قبل تشغيل التحديث, ولكن غالبا ما يكون لدى الآخرين تشغيل التحديثات والحصول على كسر صفحات الويب لأنها لا تلاحظ "ج index.php" خط.

لقد لاحظت أيضا أن svn لا يبدو أيضا غير راض عن الصراعات - فإنه لا يزال يقول "تحديث إلى مراجعة بلاه" و مخارج صفر ، بغض النظر عن الصراعات.لذا يجب تحليل سطر الإخراج إلى اكتشاف لهم.بالتأكيد هناك طريقة أفضل ؟

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

المحلول

يمكنك استخدام اقبل معلمة تشير إلى ما يجب أن يحدث عندما يحدث تعارض:

--accept ARG             : specify automatic conflict resolution action
                          ('postpone', 'base', 'mine-full', 'theirs-full',
                          'edit', 'launch')

انظر أيضا التفاعلية النزاعات الصفحة في svnbook

نصائح أخرى

ربما أفضل طريقة هي استخدام رسومية الأداة ؟ أو كتابة السيناريو أن تفعل التحديث إعادة توجيه الإخراج إلى ملف و لا قطة "svnupdate.السجل | grep "^ج "" في النهاية أن تظهر لك أي الصراعات ؟

مع الأدوات الرسومية التي تستخدم (TortoiseSVN و Netbeans), لأنها تجعل الضوضاء السيئة في النهاية نقدم لكم مع دمج الحوار اختيار التعامل معهم.أنا لا أعرف ما يعادلها مع الكثير من الطاقة من أجل أدوات سطر الأوامر.

@jsight:TortoiseSVN كبيرة ، ولكن أنا في المقام الأول وضع في *NIX البيئة ، من دون X.لذلك أنا عادة باستخدام (مقيدة) سطر الأوامر.

في إعادة السيناريو الخاص بك اقتراح هذا ما أعمل عليه الآن - وهذا هو السبب أنا منزعج أنني لا يمكن أن تحقق فقط $?.الآن أنا تخطي "الإخراج إلى ملف" باستخدام الأنابيب ، ولكن على خلاف ذلك بالضبط ما تصفون.

هل يمكن استخدام --diff3-cmd المعلمة لتحديد دمج أداة لاستخدام (عادة diff3 من diffutils).

هل يمكن أيضا استخدام ما قبل ارتكاب سكربت للبحث عن الصراع العلامات في الملفات ومنع ارتكاب عندما كانت موجودة.

التخريب 1.5 (مؤخرا) يضيف بعض القدرة على تحديد ما يحدث أثناء عملية التحديث الصراع مع "اقبل" حجة.

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