0

これは TFS2010 API を使用しています。

ファイル名を指定すると、ファイルのフォルダー パス、最後にチェックインしたユーザー、最後のチェックインの日時などの詳細を取得する必要があります。

これを解決するのに役立つ API/WIQL はありますか?

4

1 に答える 1

2

最初の部分では、ファイル名からこのファイルへの SourceControl パスを取得しましたが、これ以外のものは見つかりませんでした:

tf dir $/*file.cs /recursive /server:http://TFSServer:8080

ファイルへの SourceControl パスを取得したら、これを試すことができます。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;

namespace ChangesetDetails
{
    class Program
    {
        static void Main(string[] args)
        {
            TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://TFSServer:8080"));
            VersionControlServer vcs = (VersionControlServer) tpc.GetService(typeof (VersionControlServer));

            IEnumerable results = vcs.QueryHistory(@"$/../file.cs", 
                                                    VersionSpec.Latest, 0, RecursionType.Full, null, null, null, int.MaxValue, true, true);
            List<Changeset> changesets = results.Cast<Changeset>().ToList();
            Changeset latestChangeset = changesets.ElementAt(0);
        }
    }
}

これにより、 の最新の変更セットが取得され、目的$/../file.csのプロパティが明らかになります。

string lastCommiter = latestChangeset.Owner;
DateTime dateCommited =  latestChangeset.CreationDate;
于 2011-11-29T10:16:54.407 に答える