2

コンテキスト: Visual Studio 2008 と TFS を使用して大規模な C# マージを準備しています。ファイルと、各ファイルの衝突 (変更と競合の合計) の数 (そしてもちろん合計) を含むレポートを作成する必要があります。

問題: 2 つの理由で実行できません (最初の 1 つは解決済み):

1- TFS マージを使用すると、ファイル比較にアクセスできますが、競合するファイルのリストをエクスポートできません...競合を解決しようとすることしかできません。 (beyond compare を使用して問題 1 を解決しました。これにより、ファイル リストをエクスポートできます)

2- TFSマージを使用すると、競合の数を取得するために各ファイルに手動でしかアクセスできません...しかし、800を超えるファイルがあります(おそらく近い将来に繰り返す必要があるため、手動で行うオプションではありません)

多数のファイル比較ツール ( http://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools ) がありますが、どれが (もしあれば) これらのメトリックを提供できるかはわかりません。ここでいくつかのフォーラムと質問も読みましたが、より一般的な質問 (どの diff ツールが優れているか) であり、非常に具体的なレポートを探しています。

だから私の質問は:

  1. Visual Studio 2010 (まだ TFS2008 を使用) は、そのようなレポート/エクスポートを実行できますか?
  2. この種のメトリックを提供するツールはありますか (現在、Beyond Compare を試しています)
4

2 に答える 2

1

数日調査した後の私の質問への回答:

1- VisualStudio2008およびTFS2008は情報をエクスポートできません。

2-いくつかのツールを試した後: BeyondCompare 3を使用すると、IUからメトリックを取得し、それらを簡単にエクスポートできます。(フォルダ比較レポートを使用する代わりに、ファイル比較レポート/ XMLダンプフィルタリングファイルを使用しました。) KDiff3では、IUを使用して一部のメトリックを取得できますが、エクスポートすることはできません。

コマンドラインアプローチを試していません

注:ツールが異なれば競合の解決も異なるため、指標は100%正確ではないことに注意してください。たとえば、TFSで20の変更と3つの競合があるファイルは、beyondcompareを使用して20の変更と8つの競合として報告されました。

于 2010-06-04T09:17:23.210 に答える
1

膨大な数のファイルをマージする場合は、報告される差異を最小限に抑える必要があります。行指向の差分ツールは、コードが再フォーマットされた場合、または行に変更がある場合に変更を報告します。

SD C# Smart Differencerは、テキストの物理的なレイアウトではなく、ソース コードの構文に基づいて違いを報告します。プログラマーの観点から、効果 (挿入、削除、コピー、移動、名前変更) の観点から、言語要素 (識別子、式、ステートメント、ブロック、メソッドなど) に基づいて変更を報告します。(名前変更の検出は、ブロック/ファイル全体で一貫して変更された名前を無視することを意味します)。

この方法で報告すると、行指向の差分よりも大幅に小さな差分が生成される傾向があるため、注意を払う必要が少なくなります。

于 2010-05-25T23:46:05.587 に答える