根据特定的文件的位置和名称,我想使用 C#以编程方式获取 last 的名称< strong>用户在 TFS 中更改此文件。 (最后的更改日期会很好)
虽然没有直接关联,但作为上下文信息,我使用以下内容根据文件的本地路径从TFS获取最新信息:
var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(LocalPath);
using (var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri))
{
var workspace = workspaceInfo.GetWorkspace(server);
GetRequest request = new GetRequest(new ItemSpec(LocalPath, RecursionType.Full), VersionSpec.Latest);
workspace.Get(request, GetOptions.Overwrite);
}
感谢您提供任何提示
答案 0 :(得分:1)
我创建了一个简单的代码供您参考:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Build.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string tfsurl = "http://tfscollectionurl";
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(new Uri(tfsurl));
VersionControlServer vcs = ttpc.GetService<VersionControlServer>();
string[] path = { "$/Path/To/Item.cs" };
ItemSpec[] itemSpecs = ItemSpec.FromStrings(path, RecursionType.Full);
ItemSpec itemSpec = itemSpecs.Cast<ItemSpec>().First();
IEnumerable<Changeset> changesets = vcs.QueryHistory(itemSpec);
Changeset latestchangeset = changesets.Cast<Changeset>().First();
Console.WriteLine(latestchangeset.Committer);
Console.WriteLine(latestchangeset.CommitterDisplayName);
Console.WriteLine(latestchangeset.Owner);
Console.WriteLine(latestchangeset.OwnerDisplayName);
Console.WriteLine(latestchangeset.CreationDate);
Console.ReadLine();
}
}
}
答案 1 :(得分:0)
您可以使用IVersionControlStore.QueryHistory()来获取变更集,默认情况下,结果会先返回最近的结果,并且您可以请求顶部的变更,还有一个重载以获取该变更集中的更改
答案 2 :(得分:0)
我会添加我发现的内容以防其他人(它似乎对我有用)
Mdl_Ens = fitcnb([NB1_Posterior; NB2_Posterior],TrainingTargets,'Distribution','normal');
NEns_cumulLoss = NEns_cumulLoss + resubLoss(Mdl_Ens);