TFPT Unshelve не работает
Я знаю, что это было задано раньше, но поскольку ответов не было, я снова спрашиваю.
Я пытаюсь перенести полки из одной ветки в другую. Я запускаю следующую команду из рабочего пространства DIR:
tfpt unshelve changes;myusername /migrate /source:$/main /target:$/new-branch
когда я запустил эту команду, я получаю окно "Данные для полки" вверх, с изменениями и папкой (указывающей на $/Main)
Нажатие кнопки unhelve дает мне диалоговое окно конфликтов, снова с папкой, указывающей на $/main. Если я нажму кнопку "Разрешить", я получу следующие параметры:
- Сохраняйте мои локальные изменения Отмените мои локальные изменения и возьмите отложенные
- Отмените локальные изменения и сделайте отложенные изменения.
- Сохраняйте мои локальные изменения и объедините локальное и скрытое содержимое.
который когда-либо выбирал, я никогда не получаю ожидающих изменений в 'new-branch'. Единственные изменения, которые я ожидаю, относятся к основной ветке.
любые идеи?
Ответы
Ответ 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 был закрыт)