Получить информацию TFS для локально сопоставленного файла или каталога через WebApi - PullRequest
0 голосов
/ 05 сентября 2018

Я хочу использовать Teamfoundation.SourceControl.WebApi для проверки обновлений или локальных изменений в нашем TFS Source Control.

Я могу собрать информацию о наборах изменений из элемента, который передал TFS, но я не могу собрать эту информацию, основываясь на локальном пути к файлу внутри моего сопоставленного рабочего пространства.

Возможно ли это как-то без использования ExtendedClient?

Я хочу что-то вроде этого:

TfvcChangesetSearchCriteria tcsc = new TfvcChangesetSearchCriteria();
tcsc.ItemPath = @"c:\source\mappedtfs\MYPROJECT\src\MainWindow.cs";/*<--- localPath would be nice here*/                
List<TfvcChangesetRef> changerefs = tfvcHttpClient.GetChangesetsAsync("MYPROJECT", null, null, null, null, tcsc).Result;

1 Ответ

0 голосов
/ 07 сентября 2018

Microsoft.Teamfoundation.SourceControl.WebApi - это веб-интерфейс, который не взаимодействует с локальными рабочими пространствами и файлами. Если вы хотите получить наборы изменений с путем локальных элементов, используйте Microsoft.TeamFoundation.VersionControl.Client в клиентской библиотеке.

using Microsoft.TeamFoundation.Client;
using System;
using Microsoft.TeamFoundation.SourceControl.WebApi;
using Microsoft.TeamFoundation.VersionControl.Client;
using System.Collections.Generic;

namespace ConsoleX
{
    class Program
    {
        static void Main(string[] args)
        {
            Uri url = new Uri("https://tfsuri");
            TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(url);
            VersionControlServer vcs = ttpc.GetService<VersionControlServer>();
            IEnumerable<Changeset> cses = vcs.QueryHistory("Path here could be local path or server path", RecursionType.Full);
            foreach (Changeset cs in cses)
            {
                Console.WriteLine(cs.ChangesetId);
                Console.WriteLine(cs.Comment);
            }
            Console.ReadLine();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...