Teamfoundationserver分支无法以任何形式工作

时间:2014-12-22 10:49:50

标签: tfs branch branching-and-merging tfvc

我尝试过在一个非常简单的示例项目中进行分支,但它确实有用。现在我想分支一个真实的项目,它根本就不起作用。

当我尝试分支整个团队项目时,tfs告诉要求一个目的地。如果我选择一个新的目的地它告诉我,目的地不存在。如果我创建一个新的并指向它,它会告诉我该文件夹已经存在。

当我尝试将团队项目分支到团队项目中的子文件夹时,它告诉我这个程序不能完成,足够公平。

但是当我尝试将团队项目中的单个项目分支到另一个子文件夹时,它告诉我没有正确的映射('keine passende Zuordnung',用德语我不知道确切的英文错误消息)

非常感谢任何帮助。我没有看到,我在这里做的不同,然后我在我的测试项目中做了。

编辑:按照建议我发布我的项目结构的图像。上面的文件夹是我的实际项目,我已经从teamproject转换为分支。第二个是目标文件夹,它是空的。 My project structure

1 个答案:

答案 0 :(得分:1)

在分支整个团队项目($/ProjectName)时,您需要使用“新建项目向导”来创建新项目并指定它应该从当前项目分支。

分支团队项目的子文件夹时,除非该子文件夹的父文件被标记为分支根目录,否则该文件应该有效。在这种情况下,没有要分支的位置。

任何将分支根保存为子项或将root作为父项的文件夹都不能用于创建新分支:

enter image description here

在命令行上尝试从要分支的文件夹(以查看它是否是分支的一部分)以及要分支到的文件夹中运行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/forcetf destroy等高级功能。