كيف يمكنني الحصول على ملخص لتعارضات السيرة الذاتية الخاصة بي عند القيام بتحديث السيرة الذاتية في سطر الأوامر؟
-
02-07-2019 - |
سؤال
هل هناك طريقة سهلة للحصول على ملخص التعارض بعد تشغيل ملف 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 لجميع الخطوط بداية مع 'ج'
امل ان يساعد.