Я потратил много времени, чтобы сделать это, и у меня было мало проблем, которые нужно было преодолеть. Это возможно, но здесь мало вопросов и мало правил, чтобы избежать этих проблем
Ошибка:
невозможно определить рабочее пространство
Эта конкретная проблема была решена путем запуска команды из source корневой папки ветки. Это противоречит некоторым ответам на SO, где говорится, что нужно использовать «целевую» ветку - нет, использовать «источник»:
cd [your !!source!! branch root]
tfpt unshelve /migrate /source:"$/MyCollection/Development/Maint1.1" /target:"$/MyCollection/Development/Maint1.2" "myShelveset;UserName"
Второй вопрос появился после этого. Кажется, он не может подключиться к серверу TFS. Я понял, что у меня установлено несколько VS и они подключены к разным TFS-серверам. Я использовал VS12, и у меня было рабочее пространство и подключение к серверу. Но я не осознавал, что для работы TFPT2013 необходимо реплицировать то же соединение в VS13. Он подключается к одному и тому же серверу и рабочей области.
Я также пытался сделать это с помощью TFPT2015, но я установил его, и он не установил TFPT.exe, следовательно, он был бесполезен. Поэтому я попытался от TFPT2013 до TFS2015, и это работало для этой конкретной команды. Интересно, а почему нет, если VS12 / 13 отлично работает против TFS2015?
Подводя итог
- Использовать CMD или DevCMD - не имеет значения
- команда запуска из источника корневая папка филиала
- проверка соединения с сервером Team Explorer для конкретной VS
- TF Power Tools 2013 работает с TFS v15, по крайней мере, миграция опция работает