如何在TFS / Codeplex托管项目上创建分支?

时间:2012-12-10 00:16:39

标签: version-control tfs branch codeplex

也许只是因为我不熟悉TFS(我主要使用SVN),但我不明白如何在Codeplex托管项目上创建分支。

我正在使用VS2012。在Source Control Explorer中,我选择分支和合并>分支... 在上下文菜单中,但后来我不知道在目标字段中输入什么:

enter image description here

如果我尝试$/wpfanimatedgif/branches/1.3,我会收到以下错误:

  

目标项目$ / wpfanimatedgif / branches / 1.3不能位于源项目$ / wpfanimatedgif下。

如果我尝试$/branches/1.3,我会收到此错误:

  

TFS10198:源代码管理必须分支到现有团队项目中。分支机构不是团队项目。

我还尝试从团队资源管理器创建一个新的团队项目,但我没有所需的权限。

那么如何创建分支呢?或者在Codeplex项目上不可能这样做?

顺便说一下,我想创建分支的原因是因为我正在研究一个实验性功能而且我不想发布到“trunk”(或者在TFS中调用它)。也许TFS有不同的方式来处理这种情况?我知道搁置更改,但如果我理解正确,搁置的代码将不会在Codeplex上提供,是吗?

1 个答案:

答案 0 :(得分:18)

首先,它可能有助于理解“团队项目”是什么 - 它是源控件树顶层源代码控制中的逻辑条目,通常用于一组开发人员和各种权限和设置设置在此级别。在团队项目中,您可以拥有多个开发项目,例如Visual Studio解决方案或Java项目。在这种情况下,您的团队项目为$/WpfAnimatedGif

对于分支和合并,这些在团队项目级别低于,通常作为trunkmain分支的同行。 TFS Branching and Merging Guide中介绍了各种分支和合并策略,但是名为“WpfAnimatedGif”的Visual Studio解决方案的简化示例可能具有如下所示的分支策略:

$/WpfAnimatedGif/main/WpfAnimatedGif
$/WpfAnimatedGif/branches/1.3/WpfAnimatedGif
$/WpfAnimatedGif/branches/test_features/WpfAnimatedGif

对于“最佳做法”,他们将在trunk文件夹下创建一个main$/WpfAnimatedGif文件夹,并在其下方移动您的VS项目。但是,您可以为每个分支创建一个新文件夹,并单独为每个项目分支。

例如:

$/WpfAnimatedGif/WpfAnimatedGif分支到$/WpfAnimatedGif/branches/1.3/WpfAnimatedGif

$/WpfAnimatedGif/WpfAnimatedGif分支到$/WpfAnimatedGif/branches/1.3/WpfAnimatedGif.Demo

但是,由于这些分支是独立的,因此您还必须独立地合并这两个文件夹,而不是从branches文件夹中自动合并。