我尝试过在一个非常简单的示例项目中进行分支,但它确实有用。现在我想分支一个真实的项目,它根本就不起作用。
当我尝试分支整个团队项目时,tfs告诉要求一个目的地。如果我选择一个新的目的地它告诉我,目的地不存在。如果我创建一个新的并指向它,它会告诉我该文件夹已经存在。
当我尝试将团队项目分支到团队项目中的子文件夹时,它告诉我这个程序不能完成,足够公平。
但是当我尝试将团队项目中的单个项目分支到另一个子文件夹时,它告诉我没有正确的映射('keine passende Zuordnung',用德语我不知道确切的英文错误消息)
非常感谢任何帮助。我没有看到,我在这里做的不同,然后我在我的测试项目中做了。
编辑:按照建议我发布我的项目结构的图像。上面的文件夹是我的实际项目,我已经从teamproject转换为分支。第二个是目标文件夹,它是空的。
答案 0 :(得分:1)
在分支整个团队项目($/ProjectName
)时,您需要使用“新建项目向导”来创建新项目并指定它应该从当前项目分支。
分支团队项目的子文件夹时,除非该子文件夹的父文件被标记为分支根目录,否则该文件应该有效。在这种情况下,没有要分支的位置。
任何将分支根保存为子项或将root作为父项的文件夹都不能用于创建新分支:
在命令行上尝试从要分支的文件夹(以查看它是否是分支的一部分)以及要分支到的文件夹中运行tf branches .
。如果目标文件夹已在分支下,则无法分支到该分支。您可能需要使用Source控件资源管理器中的Convert to Folder选项来允许在那里创建分支。
看起来您已经创建了目标文件夹,目标文件夹已经是一个分支。您还没有描述它是如何产生的,如果它是源文件夹上的分支操作的结果,那么而不是选择分支选择合并代替。
如果两个文件夹之间没有关系,则不会在可能的合并目标列表中预先填充它。如果您使用的是Visual Studio 2013,则可以手动输入路径,TFS将通过无基础合并创建关系。如果您使用的是旧版Visual Studio,则可能需要从命令行创建此关系:
tf merge "$/TeamProject/Machinenzustandsanzeige" "$/teamproject/Machinenzustandsanzeige NC-Prä" /baseless /recursive /collection:{uri}
您还可以使用命令行销毁您已创建的目标分支,然后重新尝试分支,然后该分支将成功。
tf destroy "$/teamproject/Machinenzustandsanzeige NC-Prä" /recursive /collection:{uri}
tf branch "$/teamproject/Machinenzustandsanzeige;T" "$/teamproject/Machinenzustandsanzeige NC-Prä" /recursive /collection:{uri}
tf checkin "$/teamproject/Machinenzustandsanzeige NC-Prä" /recursive /collection:{uri}
如果工作区未正确设置,您可以through the UI using the steps outlined here或使用以下命令行执行:
tf workfold /map "$/teamproject/Machinenzustandsanzeige NC-Prä" c:\path\where\you\want\it
接下来是:
tf get "$/teamproject/Machinenzustandsanzeige NC-Prä" /recursive
实现文件夹的添加。
a-umlaut造成这个问题的可能性非常小。你尝试过没有特殊字符的路径吗?
您想要实现的是标准操作,TFVC支持它,但不知何故,您最终处于非默认情况。即使在这种情况下,您也可以修复此问题,但您可能需要使用UI中无法提供的/baseless
或/force
或tf destroy
等高级功能。