هل هناك الفوقية استبعاد مرشح إس في مهرجان دبي السينمائي الدولي في القيادة ؟

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

سؤال

أنا استخدم إس كمصدر نظام مراقبة, وأنا أتساءل كيف يمكن مقارنة الدلائل في حين تجاهل أي بيانات التعريف الخلافات.هل هناك طريقة لمعرفة svn diff لمقارنة فقط المحتوى الفعلي وتجاهل أي البيانات الوصفية ؟

أعني البيانات الوصفية مثل إس خصائص ، إلخ.التي لا تؤثر على محتوى الملف.تحمل الملف X خاصية إضافية في فرع ب مقارنة مع الجذع T.لسوء الحظ أنها سوف تظهر في 'إس في مهرجان دبي السينمائي الدولي T B' على الرغم من المحتوى الفعلي الملف X هو نفسه.

كنت ابحث عن شيء مثل هذا:

svn diff https://example.org/tags/v1 https://example.org/tags/v2 -x -ignore-metadata --summarize

تحديث: أنا حلها جزئيا هذا المهرجان يقوم بالتسجيل مباشرة على الملفات بدلا من استخدام SVN الأدوات.انظر بلدي الإجابة أدناه...

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

المحلول 5

يبدو أن هناك أي وسيلة للحصول على هذا عمله باستخدام إس المدمج في الأدوات.كيف حلها:تصدير كل الأشجار مهرجان دبي السينمائي الدولي لهم diretly على الملفات باستخدام المفضلة لديك في مهرجان دبي السينمائي الدولي أداة.هذا هو بطريقة أو بأخرى الطريقة الوحيدة للحصول على هذا عمله :/

نصائح أخرى

يمكنك تمرير إس في الإخراج السينمائي من خلال 'filterdiff --نظيفة' لإزالة أي الدخيلة الخطوط بما في ذلك تغييرات الخاصية.

إذا كنت تستخدم --summarize الخيار, ثم المنشأة التغييرات المشار إليها في الثانية بدلا من العمود الأول.

I. e.,

M  URL  -- indicates content change
 M URL  -- property change
MM URL  -- content and property change

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

لطيفة نصيحة من JosephWatkins.

هنا هو الأمر grep-جونيور-المستخدمين:

svn diff A B --summarize | grep '^. '

على البقرى يبحث عن مساحة الحرف الثاني على الخط.

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

svn diff --patch-compatible

انها نفس التوالي

svn diff --show-copies-as-adds --ignore-properties

وهنا أمر واحد أن يفعل كل هذا.ويقول كنت تريد أن تجد جميع (غير الملكية) ديفس لجميع الملفات في الوقت الراهن دليل بين تنقيح 54833 و 57215.هذا الأمر ينبغي أن نفعل ذلك:

svn diff -r 54833:57215 --summarize | egrep -v '^ |^D|^A' | awk '{ print $2 }' | xargs svn diff -r 54833:57215

ملحوظة::إلا ديفس الملفات المعدلة - عدم إضافة أو حذف الملفات.

استخدام svn diff --ignore-properties.هذا التخريب الذي بني في أسلوب لا يفرق من المحتوى فقط.فإنه يتجاهل أي تغييرات على خصائص العناصر.

كتبت السيناريو للقيام بذلك ، بعد أن كنت لا يمكن العثور على واحد على الانترنت.

السيناريو يزيل البيانات استنادا إلى مجموعة من التعبيرات العادية دخلت في الجزء العلوي من البرنامج النصي.حاليا, يتم تعيين ما يصل إلى تصفية خصائص التغييرات ، ولكن يمكن إزالة أي تغيير يطابق سلسلة من التعبيرات العادية.

مجرد أنبوب إخراج svn diff أن السيناريو بعد تعيين البرنامج النصي.أنا وضعت الفلاتر في البرنامج النصي بدلا من المعلمات لأنني دائما تشغيل نفس المرشحات.

لقد صدر الأمر كما GPLv2.

clean_svn_diff.باش

لست متأكدا, ولكن بسيطة 'إس في مهرجان دبي السينمائي الدولي | grep -iv "الاشياء تجاهل"' سيكون الحل.

يمكنك تعيين svn:تجاهل مكان الإقامة على الملفات والدلائل تريد إس في مهرجان دبي السينمائي الدولي تجاهل.

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