2014-12-11 6 views
2

Я хочу получить checkin (s), который вызвал сборку для определения сборки, когда репозиторий TFS 2013 + Git.Эквивалент QueryHistory Для TFS 2013 + Git

Мой первый подход:

var commits = buildDetail.Information.GetNodesByType("AssociatedCommit") 

Что я получил от How to retrieve changesets associated with a build in TFS 2013 with Git? Это прекрасно работает, когда сборка завершена, но он не может ничего возвращать, когда сборка в процессе. Я мог бы здесь что-то упустить, поэтому, если вы знаете, что я делаю неправильно, не обращайте внимания на остальную часть этого сообщения.

Моя следующая идея - получить отображение рабочей области определения построения и запрос для проверок на этот путь.

Для не GIT проектов в TFS вы использовали, чтобы иметь возможность получить последнюю ревизию на этом пути:

versionControlServer = projectCollection.GetService<VersionControlServer>(); 
versionControlServer.QueryHistory(path, 
    VersionSpec.Latest, 
    DELETION_ID, 
    RecursionType.Full, 
    null, 
    null, 
    VersionSpec.Latest, 
    1, 
    true, 
    false, 
    true) 

Однако TFS 2013 + Git не использует ревизию, он использует фиксации (не укажите разницу в ветвлении, которая даже не отображается в преобразовании рабочей области api), и, следовательно, API выглядит совершенно другим. Но, похоже, нет никакой документации о том, что такое новый API.

Любые ссылки на документацию, которую я, возможно, пропустил, альтернативные подходы или идеи были бы весьма благодарны.

ответ

0

Я никогда не мог решить это с помощью GetNodesByType() или GetService(). Окончательное решение заключалось в том, чтобы получить сопоставление рабочей области (информация о sans branch), определить, с каким репозиторием он связан, и запросить последнюю фиксацию во всех ветвях, связанных с репозиторием (вряд ли идеально).

Я документально мой TFS 2013 + Git API pain в блоге, если вы заинтересованы в деталях, но короткая версия должна использовать commit's api endpoint так:

GET http://tfs:8080/tfs/_apis/git/repositories/51/commits?top=1 
Смежные вопросы