TFS на VSTS: `tf vc unshelve <shelvesetname>` завершается с ошибкой без загрузки изменений - PullRequest
0 голосов
/ 26 сентября 2018

При подготовке нового определения сборки для работы с контролем версий TFS в VSTS я столкнулся со странным поведением:

При выполнении сборки из shelveset в лог-файлах я вижу, что исходники из основного репозитория загружаются (и это действительно так)и позже в журналах появляется информация о несохраняемых изменениях из shelveset - но эти файлы фактически не загружаются, что приводит к сбою более поздних конвейерных задач.

Примеры журналов:

2018-09-26T09:47:29.6580577Z ##[command]tf vc workspace /delete ws_5_23;1c4749a7-aba9-45f6-93c1-0b3c777d3de3 /collection:<collectionname>/ /loginType:OAuth /login:.,*** /noprompt
2018-09-26T09:47:32.1224786Z ##[command]tf vc workspace /new /location:local /permission:Public ws_5_23 /collection:<collectionname>/ /loginType:OAuth /login:.,*** /noprompt
2018-09-26T09:47:33.8329522Z ##[command]tf vc workfold /unmap /workspace:ws_5_23 $/ /collection:<collectionname>/ /loginType:OAuth /login:.,*** /noprompt
2018-09-26T09:47:35.4446518Z ##[command]tf vc workfold /map /workspace:ws_5_23 $/<path> <path2> /collection:<collectionname>/ /loginType:OAuth /login:.,*** /noprompt
2018-09-26T09:47:36.9498633Z ##[command]tf vc workfold /map /workspace:ws_5_23 $/<path3> <path4> /collection:<collectionname>/ /loginType:OAuth /login:.,*** /noprompt
2018-09-26T09:47:38.6423920Z ##[command]tf vc get /version:50687 /recursive /overwrite C:\agent\_work\5\s /loginType:OAuth /login:.,*** /noprompt
2018-09-26T09:47:41.5812148Z C:\agent\_work\5\s\Main\Source:
2018-09-26T09:47:41.5826483Z Getting BI

Позже естьмного файлов, которые загружены - и они фактически загружены, присутствуют на диске.

Однако после этого:

2018-09-26T09:47:46.3299164Z ##[command]tf vc unshelve <shelvesetname>;<user> /loginType:OAuth /login:.,*** /noprompt
2018-09-26T09:47:48.5345961Z <path4>:
2018-09-26T09:47:48.5346886Z Unshelving edit: <solutionname>.sln
... and a lot of other changes from shelveset

Файлы, которые были определены как нерасщепленные, на самом деле не являются -их нет на диске.И конвейер завершается сбоем позже, так как он не может найти эти файлы.

Несколько замечаний:

  • , когда эти изменения локально не сохраняются в Visual Studio 2017, происходит должным образом - файлы загружаются на диск.

  • изменения находятся в двух разных родительских папках, каждая из которых отображается отдельно в настройке сборки

  • ошибка не выдается, она плавно переходит в другуюшаг конвейера

Как заставить TFS действительно загрузить эти изменения из shelveset?Или это просто ошибка TFS?

...