22

ユーザー、日付、完全なコメント(切り捨てられていない)を含む履歴をTFS 2010からどのようにエクスポートしますか?

たとえば、チームエクスプローラーで、チームメンバー名を右クリック>[チェックイン履歴を表示]を選択します。これにより、ユーザーのチェックイン履歴が表示されますが、コメントは切り捨てられます。

4

5 に答える 5

20

ここには 3 つのオプションがあります。

  1. tf.exe history コマンドからの出力を解析します。
  2. TFS クライアント オブジェクト モデルに対してコードを記述します。
  3. TFS データベースに対して直接クエリを作成します。

番号 1 がおそらく最も簡単なので、それから始めます。ここでtf history コマンドのドキュメントを読むことができます。コメントを切り詰めないようにするには、/format:detailed オプションを使用する必要があります。すべての履歴が必要な場合は、次のようにしてください。

tf 履歴 $/ /r /format:detailed /noprompt

特定のユーザーのすべての変更セットを探している場合は、次を試してください。

tf history $/ /r /format:detailed /user: /noprompt

これにより、Excel に出力できるように解析する必要があるかなりの量のテキスト出力が生成されます。試してみて、オプション 2 または 3 に興味がある場合はお知らせください。詳細をお知らせします。

于 2012-04-24T01:45:59.307 に答える
9

最も簡単な方法は、Excel から TFSWarehouse に接続し、Excel シートのソース管理履歴からデータを取得することです。これは本当にシンプルで非常に強力です。

ここで役立つ情報を見つけることができます: http://www.woodwardweb.com/vsts/getting_started.html

編集:

SSAS (たとえば tfspreview.com など) にアクセスできない場合、TFS API を使用して変更セットを列挙します。

TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, true);
tpp.ShowDialog();

var tpc = tpp.SelectedTeamProjectCollection;

VersionControlServer versionControl = tpc.GetService<VersionControlServer>();

var tp = versionControl.GetTeamProject("MyTeamProject");
var path = tp.ServerItem;

var q = versionControl.QueryHistory(path, VersionSpec.Latest, 0, RecursionType.Full, null, new ChangesetVersionSpec(1), VersionSpec.Latest, Int32.MaxValue, false, true, false, false);

foreach (Changeset cs in q)
{
    var user = cs.Owner;
    var comment = cs.Comment;
    var date = cs.CreationDate;

    Debug.WriteLine(string.Format("[{3}] Date: {0}, User: {1}, Comment {2}", date, user, comment, cs.ChangesetId));
}
于 2012-04-24T11:01:27.533 に答える