كيفية الحصول على تقرير إس اللوم العودية في ملف XML واحد لجميع الملفات الثنائية غير في الفرع؟

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

سؤال

وكيف يمكنني الحصول على تقرير إس اللوم متكررة بشكل كامل لجميع الملفات الثنائية غير في الفروع، حيث الإخراج في ملف واحد بصيغة XML ويشمل التعديل، وتاريخ، والمؤلف، واسم الملف والمسار، ونص خط الملف نفسه؟ يحتاج انتاج كامل ليكون في ملف واحد. سيتم تنفيذه كجزء من بناء عبر مثيل CCNet.

والأدوات المتاحة هي أحدث إصدارة مستقرة من نانت وnantcontrib، msbuild، وأحدث إس في سطر الأوامر.

إليك بعض القضايا لقد واجه: أمر سطر الأوامر إس اللوم لا يدعم العودية الدليل. لا تشمل خيار --xml اللوم على النص الفعلي من كل سطر، على الرغم من أنها لا تملك أي شيء آخر. بواسطة nantcontrib الافتراضي يمر المعلمة --quiet (خلافا للإشارة مهمة)، الذي غير معتمد على الأمر اللوم. مهمة Nantcontrib إس قد لا تقبل المعلمة --xml.

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

المحلول

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

وهناك أيضا طريقة خاطئة للقيام بذلك، والذي ينطوي أيضا كتابة التعليمات البرمجية. لا تفعل هذا : ل

find . -type f | grep -v .svn | xargs svn blame > line_data
find . -type f | grep -v .svn | xargs svn --xml blame > xml_data

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

للأسف، وأعتقد أن هذا هو مدى الدعم من أجل ما تريد مع العميل إس القياسية، وأنا لا يمكن العثور على أي عملاء آخرين أن تفعل أشياء أفضل (بعض حتى لا يدعم blame).

نصائح أخرى

وأنا لا أعرف ما نظام التشغيل الذي تستخدمه. ولكن يمكنك محاولة استخدام بسيط للحلقة والأمر "إس ليرة سورية -R" إلى قائمة متكرر كافة الملفات في الفرع (مساحة العمل / رابط) ثم الأنابيب إلى "إس اللوم --xml".

ولقد حاولت ذلك في بلدي خط موجه الأوامر SVN وأنه يعمل بشكل جيد (ويندوز XP، SVN 1.4.4). الأمر اعتدت على النحو التالي:

وFOR / F "usebackq delims =="٪ ط IN (svn ls -R http://myurl/mybranch) DO اللومsvn --xml٪ ط

ملحوظة: يمكنك تجنب بعض "URL لم يتم العثور" نوع من الأخطاء إذا قمت بكتابة هذا الأمر في مساحة العمل (التي تعكس الجذر فرع لديك) واستخدام 'ليرة سورية إس -R` بدلا من رابط في الأمر أعلاه.

وآمل أن يساعد هذا.

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