私はプロジェクトチームで作業しており、アプリケーションはTFSにあります。私は各チームメンバーが責任を負うコードの行数を決定しようとしています。 TFSでは、Visual StudioインターフェイスのAnnotate機能を認識しています。これにより、各コード行を最後に誰が修正したかを知ることができ、TFSにこの情報があることがわかります。TFS注釈にプログラムでアクセスして所有者を特定する
TFSプロジェクトとそのすべてのファイルにアクセスする小さなコンソールアプリケーションを作成しましたが、各行の所有者を知るためにプログラムでアノテーションにアクセスする必要があります。ここに私の既存のコードがあります:
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
public class Program
{
static void Main(string[] args)
{
var credentials = new NetworkCredential(username, password, domain);
var server = new TfsTeamProjectCollection(new Uri(serverUrl), credentials);
var version = server.GetService(typeof(VersionControlServer)) as VersionControlServer;
var items = version.GetItems(projectPath, RecursionType.Full);
var fileItems = items.Items.Where(x => x.ItemType == ItemType.File);
foreach (var fileItem in fileItems)
{
var serverItem = fileItem.ServerItem;
//TODO: retrieve and parse annotations
}
}
}
私はTFSアイテムを持っていると注釈を取得する方法を理解できないようです。 Thisリンクは、TFPTを呼び出すことによってそれを行う方法を説明していますが、実装後(tfpt annotate /noprompt <filename>
)、所有者ではなく、最後のチェンジセットとコードを1行に渡します。
また、Annotation
クラスを持つMicrosoft.TeamFoundation.VersionControl.Server名前空間も見つかりました。そのDLLにアクセスするために私のマシンにTFSをインストールしましたが、この問題の助けにはならないようです。
TFSアノテーションにプログラムでアクセスして、ファイルのコード行の所有者を特定するにはどうすればよいですか?
http://stackoverflow.com/questions/74526/tfs-annotate-blame-summary-report-for-a-project – CodeCaster
@CodeCaster:ハ。コメントしたところで私の質問を更新しました。答えは実際には答えではありません... – im1dermike
どのように役立たないか説明できますか?それが本当であれば、それを行うための組み込みの方法はなく、そのためのツールもありません(ツールを直接求めているのはトピック外です)。ただし、TFS APIを使用して、これを行う小さなプログラムを書くことができます。 – CodeCaster