我正在尝试从签出项目的本地工作区创建一个分支。
基本背景:
我从一个项目的“主干”检查出来并做了很多改变
我现在想把这些变化检查成一个新的分支。
我在源代码管理中创建了一个新分支 - 但我的工作区仍然映射到主干。
我按照我在此处找到的文章中的步骤进行了操作:Branch from local workspace
所以我搁置了我的改变
创建了一个分支。
使用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中的这么简单的任务添加了额外的复杂性...... 希望有些蠢事我做错了。
任何帮助表示感谢。
答案 0 :(得分:5)
试试这个:
Source Control Explorer
开始,从工具栏中选择Workspace->Workspaces...
。Edit
,并为新分支添加映射,例如
Active|$/Root/MyProject-Branch|<My Local TFS Storage>\MyProject-Branch
tfpt unshelve <shelveset> /migrate /source:$/Root/MyProject /target:$/Root/MyProject-Branch
。它应该创建一个新的shelveset,并将映射更改为新的分支。顺便说一下,在TFS中,术语是将映射项目/分支到本地存储,而不是像在SVN中那样“签出”。该术语用于您更改的文件;)。