TFS - создать ветку из локальной рабочей копии - PullRequest
7 голосов
/ 28 марта 2012

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

Базовая информация: я извлечен из 'ствола' проекта и внес много изменений.
Теперь я хочу проверить эти изменения в новой ветви.

Я создал новую ветку из Source Control - но мое рабочее пространство все еще сопоставлено с внешней линией.

Я следовал инструкциям из статьи, которую нашел здесь: Ветвь из локальной рабочей области

Итак, я отложил свои изменения.
Создал ветку.
Использовал TFPT для переноса из ствола в ветку

tfpt unshelve "My uncomplete changes" /source:"$/MyRoot/MyProject-Trunk" /target:"$/MyRoot/MyProject-Branch" 

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

Но ничего не изменилось.
Ветвь является точной копией ствола (без локальных изменений)
Моя рабочая область все еще сопоставлена ​​с стволом.
Если я регистрируюсь, онапроверяет в багажнике.

Я попытался разархивировать имеющуюся у меня версию, удалить локальные файлы, затем проверить ветку, затем отменить внесенные изменения, но я залил

No appropriate mapping exists for $/Root/MyProject/Myfile.cs

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

Любая помощь приветствуется.

1 Ответ

5 голосов
/ 28 марта 2012

Попробуйте это:

  1. Вам нужно включить новую ветку в ваше рабочее пространство, чтобы увидеть какие-либо изменения (в противном случае вы увидите только проверенные версии).Из Source Control Explorer выберите Workspace->Workspaces... на панели инструментов.
  2. Выберите Edit для своей рабочей области и добавьте отображение в новую ветвь, например, Active|$/Root/MyProject-Branch|<My Local TFS Storage>\MyProject-Branch
  3. Выполните команду tfpt unshelve <shelveset> /migrate /source:$/Root/MyProject /target:$/Root/MyProject-Branch.Он должен создать новый набор полок с измененными сопоставлениями для вашей новой ветви.
  4. Попробуйте отменить добавление нового перенесенного набора полок в новую ветвь.

Кстати, в TFS этот термин означает отображение проекта / ветви на локальное хранилище, а не «извлечение», как в SVN.Этот термин используется для тех файлов, в которые вы вносите изменения;).

...