Любой инструмент сравнения / слияния, который предоставляет отчет (метрики) конфликтов? - PullRequest
2 голосов
/ 25 мая 2010

КОНТЕКСТ: Я готовлю большое слияние C # с использованием Visual Studio 2008 и TFS. Мне нужно создать отчет с файлами и количеством коллизий (всего изменений и конфликтов) для каждого файла (и всего, конечно)

ПРОБЛЕМА: Я не могу сделать это по двум причинам (первая решена):

1- Используя слияние TFS, я могу получить доступ к сравнению файлов, но не могу экспортировать список конфликтующих файлов ... Я могу только попытаться разрешить конфликты. (я решил проблему 1, используя несопоставимое. Это позволяет мне экспортировать список файлов)

2- Используя слияние TFS, я могу получить доступ к каждому файлу только вручную, чтобы получить число конфликтов ... но у меня более 800 файлов (и, вероятно, придется повторить это в ближайшем будущем, поэтому не стоит делать это вручную)

Существуют десятки инструментов сравнения файлов (http://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools), но я не уверен, какой из них может (если есть) дать мне эти метрики. Я также прочитал несколько форумов и вопросов здесь, но это более общие вопросы (какой инструмент сравнения лучше), и я ищу очень конкретный отчет.

Итак, мои вопросы:

  1. Является ли Visual Studio 2010 (используя еще TFS2008) способен на такое Отчеты / Вывоз?
  2. есть ли инструмент, который обеспечивает этот вид метрики (сейчас я пытаюсь Beyond Compare)

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Ответьте на мой вопрос после нескольких дней расследования:

1- Visual Studio 2008 & TFS 2008 не может экспортировать любую информацию.

2- После попытки нескольких инструментов: BeyondCompare 3 позволяет получать показатели из IU и легко экспортировать их. (Используется файл сравнения отчетов / файлы фильтрации дампов XML вместо использования отчета сравнения папок.) KDiff3 позволяет получать некоторые метрики с использованием IU, но их невозможно экспортировать.

Не пробовал подход командной строки

ПРИМЕЧАНИЕ: помните, что разные инструменты имеют разное разрешение конфликтов, поэтому показатели будут не на 100% точными. Например, файл с 20 изменениями и 3 конфликтами в TFS был зарегистрирован как 20 изменений, 8 конфликтов с использованием несопоставимого.

1 голос
/ 26 мая 2010

Если вы собираетесь объединить огромное количество файлов, вы хотите минимизировать различия, сообщаемые до минимума. Линейно-ориентированные инструменты сравнения сообщают об изменениях, если код переформатирован или есть какие-либо изменения в строке.

SD C # Smart Differencer сообщает о различиях, основанных на синтаксисе исходного кода, а не на физической структуре текста. Он сообщает об изменениях, основанных на элементах языка (идентификаторах, выражениях, операторах, блоках, методах, ...) с точки зрения эффекта (вставка, удаление, копирование, перемещение, переименование) с точки зрения программиста. (Обнаружение переименования означает, что оно будет игнорировать имена, измененные последовательно для блока / файла).

Отчетность таким способом имеет тенденцию производить значительно меньшие различия, чем линейно-ориентированные различия, что требует меньше вашего внимания.

...