كيفية العثور على عدد من خطوط تغير بين الإصدارات CVS؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

ولقد قضيت معظم اليوم اتخاذ ما هي في الأساس بعض التغييرات التدبير المنزلي إلى مصدر برنامج واحد من مشاريعنا (استبدال جميع System.out.println() المكالمات مع log4j).

وانا من النوع الغريب من عدد الأسطر من التعليمات البرمجية لقد تحديث مع هذه المجموعة من التغييرات.

وهناك على أية حال مع cvs diff أو أمر آخر للحصول على إجراء إحصاء دقيق عن عدد خطوط تغيرت؟

ولقد حاولت

cvs diff -b -B -R

للحصول على كافة التغييرات في دليل العمل (ومتكرر الدلائل)، ولكن لكل ملف تغييره يطبع أيضا إلى ملف / نسخة من المعلومات، الأمر الذي يجعل مجرد عد خطوط الانتاج عديمة الفائدة.

وأي أفكار؟

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

المحلول

وتصفية خطوط إضافية من الناتج فرق وثم عد السطور.

وعلى سبيل المثال، البقرى فقط خطوط بدءا <أو>

cvs diff -b -B -R | egrep '^<|>' | wc -l

نصائح أخرى

diffstat الأداة هي أداة لطيفة للحصول على بعض مقاييس بسيطة من إخراج السير الذاتية، إس أو بيانات الاختلاف أخرى.

ويمكنك ببساطة انتاج الأنابيب من السير الذاتية لمعرفة الاختلاف diffstat.

وماذا عن التحقق من أن كنت قد غيرت كل الحالات مع شيء من هذا القبيل:

find . | egrep -v -e '(CVS|<other patterns you don't want>)' | \
    xargs egrep -e 'System\.out\.println[(][)]' | wc -l

والتي ينبغي أن تعطيك الصفر.

ثم استبدال التعبير المعتاد في egrep الثاني مع "log4j" ينبغي أن يكون مرحاض -l إعادة عدد من خطوط كنت قد تغيرت.

وHTH.

والهتافات،

وروب

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