كيف يمكنني الحصول على ملخص لتعارضات السيرة الذاتية الخاصة بي عند القيام بتحديث السيرة الذاتية في سطر الأوامر؟

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

سؤال

هل هناك طريقة سهلة للحصول على ملخص التعارض بعد تشغيل ملف cvs update?

أنا أعمل في مشروع كبير وبعد القيام ببعض الأعمال أحتاج إلى إجراء تحديث.قائمة التغييرات التي تعود من أمر تحديث cvs هي عدة صفحات طويلة وأرغب في رؤية قائمة التعارضات فقط (تبدأ بـ "C") تتكرر في نهاية إخراج أمر تحديث cvs.

الحل يحتاج إلى العمل من سطر الأوامر.

إذا كان الإخراج الطبيعي الخاص بي هو:

M src/file1.txt
M src/file2.txt
cvs server: conflicts found ...
C src/file3.txt
M src/file4.txt
M src/file5.txt

أريد أن يكون مخرجي الجديد:

M src/file1.txt
M src/file2.txt
cvs server: conflicts found ...
C src/file3.txt
M src/file4.txt
M src/file5.txt

Conflict Summary:
C src/file3.txt

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

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

المحلول

بالنظر إلى المواصفات، يبدو أنك بحاجة إلى تعديل بسيط لحل مارتن يورك (لأن ذلك يعرض التعارضات فقط وليس معلومات السجل العادية).شيء مثل هذا - والذي يمكن تسميته "cvsupd":

tmp=${TMPDIR:-/tmp}/cvsupd.$$
trap "rm -f $tmp; exit 1" 0 1 2 3 13 15
cvs update "$@" | tee $tmp
if grep -s '^C' $tmp
then
    echo
    echo Conflict Summary:
    grep '^C' $tmp
fi
rm -f $tmp
trap 0
exit 0

تضمن أوامر الاعتراض عدم ترك ملف السجل.فهو يلتقط الإشارات العادية - HUP وINT وQUIT وPIPE وTERM (على التوالي) ويحتجز 0 أي مخرج آخر من الصدفة.

نصائح أخرى

ليس لدي سيرة ذاتية في متناول يدي ما هو التنسيق الدقيق لمخرجات تحديث السيرة الذاتية

يبدو أنني أتذكر C <اسم الملف>
إذا كان الأمر كذلك يمكنك استخدام:

تحديث CVS | سجل الإنطلاق | جريب "^ج"

يتم حفظ الإخراج الكامل للسير الذاتية في السجل لاستخدامه في نقطة أخرى.ثم نحن grep لجميع الخطوط بداية مع 'ج'

امل ان يساعد.

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