Подтвердить что ты не робот

TFPT Unshelve не работает

Я знаю, что это было задано раньше, но поскольку ответов не было, я снова спрашиваю.

Я пытаюсь перенести полки из одной ветки в другую. Я запускаю следующую команду из рабочего пространства DIR:

tfpt unshelve changes;myusername /migrate /source:$/main /target:$/new-branch

когда я запустил эту команду, я получаю окно "Данные для полки" вверх, с изменениями и папкой (указывающей на $/Main)

Нажатие кнопки unhelve дает мне диалоговое окно конфликтов, снова с папкой, указывающей на $/main. Если я нажму кнопку "Разрешить", я получу следующие параметры:

  • Сохраняйте мои локальные изменения Отмените мои локальные изменения и возьмите отложенные
  • Отмените локальные изменения и сделайте отложенные изменения.
  • Сохраняйте мои локальные изменения и объедините локальное и скрытое содержимое.

который когда-либо выбирал, я никогда не получаю ожидающих изменений в 'new-branch'. Единственные изменения, которые я ожидаю, относятся к основной ветке.

любые идеи?

4b9b3361

Ответ 1

Вам нужно запустить эту команду из каталога, который отображается в вашей ветке target ($/new-branch в вашем примере).

Например, если ваша текущая ветка = > Main, которая отображается в вашей рабочей области в C:\Workspace\TeamProject\Main\...

И вы хотите переместить изменения в Dev, который отображается в D:\Workspace\TeamProject\Dev

Затем вам нужно запустить следующую команду из следующего каталога:

C:\Workspace\TeamProject\Main> tfpt unshelve "changes;muusername" /migrate /source:$/TeamProject/Main /target:$/TeamProject/Dev

Подробнее см. в блоге в блоге Tarun: http://geekswithblogs.net/TarunArora/archive/2011/06/06/unshelve-shelveset-created-from-one-branch-to-another.aspx

Ответ 2

У меня также была эта проблема, и ни одно из опубликованных решений не работало.

Оказалось, что это была ошибка пользователя, и я использовал обратную косую черту, а не косые черты в моем параметре /target.

Это было связано с тем, что я первоначально скопировал локальные пути проекта, а не пути TFS, а затем заменил корневой путь на $, когда заметил свою ошибку, но я пропустил изменение направления косой черты - по-видимому, это имеет значение и будет означать, что ваш shelveset будет отсутствовать в ветки источника.

Ответ 3

У меня был такой же опыт, как у специалиста TFPT - Team Foundation Power Tools 2013. Я бы запустил команду и получил сообщение "Auto-merge было успешным", считая, что он работает, но не вижу никаких изменений в файлах в целевой ветки.
Моя команда была примерно такой:

C:\Users\dev\TFS_TEST\rel1.1 > "C:\Program Files (x86)\Microsoft Team Foundation Server 2013 Электроинструменты \tfpt.exe" unshelve cbbss02; [email protected]/migrate/source: $/E Pluribus Unum/SourceCode/rel1.2/target: $/E Pluribus Unum/SourceCode/rel1.1

Как отмечали другие, я помещаю цитаты вокруг исходного и целевого путей:

"C:\Program Files (x86)\Microsoft Team Foundation Server 2013 Power Tools\tfpt.exe" unshelve cbbss02; [email protected]/migrate/source: "$/E Pluribus Unum/SourceCode/rel1.2" /target: "$/E Pluribus Unum/SourceCode/rel1.1"

получил его, чтобы фактически инициировать изменения в целевой ветке. (Я также убедился, что Visual Stuido был закрыт)