【问题标题】:TFS 2013 - Only allow merge commits to branch(es)TFS 2013 - 只允许合并提交到分支
【发布时间】:2015-12-24 23:11:21
【问题描述】:

我们需要锁定我们的发布候选分支,以便它们只接受真正的合并提交。

目的是迫使开发人员首先在主分支(或者最好是开发人员功能/错误分支)中进行编辑,然后才将它们从主分支合并到 RC 分支中。现在,他们可以在 RC 中进行编辑,并绕过 Main 分支直接提交到 RC,这会导致尚未向后移植的提交令人头疼。

Here's an image showing change sets of type "merge, edit" and "edit"

上面的链接图片显示了我们 RC 分支中文件的历史记录。您可以看到“编辑”的更改类型是直接提交到分支,绕过“从主合并”过程。任何具有“合并、编辑”类型的东西都会提交到 Main 分支,然后合并到 RC 分支。

所以我的总体问题是:带有 TFVC 的 TFS 2013 是否支持指定一个或多个特定分支应仅接受“合并、编辑”和拒绝“编辑”类型的提交或文件修改类型的能力?如果是,这是如何配置的?如果没有,是否有任何 TFS 2013 插件/扩展可以提供此功能?

【问题讨论】:

  • 哪个版本控制?经典 TFVC 还是 Git?
  • [visualsvn-server] 标签与问题有何关联?

标签: tfs visualsvn-server


【解决方案1】:

您可以在 TFS 中使用 permission 来实现它。

将所有开发人员添加到贡献者组,并将合并分支的权限设置为拒绝。只允许他们在开发人员功能/错误分支上工作,因此他们只能将本地代码和编辑提交到该分支。

将您的 PM 或经理添加到 项目管理员组,确保他们不在贡献者中。因为在 TFS 中,任何“拒绝”都会覆盖任何“允许”权限。所以 PM 可以将 developer feature 分支合并到 Main 分支,最后将 main 分支合并到 release 分支。这样的设置可以让分支的管理不再混乱。

在源代码管理资源管理器中找到您的分支,右键单击它并选择高级,选择 security。更多权限细节,可以参考MSDN的this link

【讨论】:

    【解决方案2】:

    由于您使用的是 TFVC,因此您可以创建一个签入策略来执行此操作。但是,请求现有政策或为现有政策做出贡献可能会更好。

    您可以尝试 TFVC 分支策略签入策略。它不能做你想要的开箱即用,但你可以请求该选项,它会很容易实现。

    https://visualstudiogallery.msdn.microsoft.com/81a74866-b313-4f23-b1be-787a57d6c597

    他们有一个 GitHub 项目,你可以 fork 或创建一个问题...

    【讨论】:

      猜你喜欢
      • 2023-01-04
      • 1970-01-01
      • 2018-05-26
      • 2010-11-02
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 2019-03-20
      相关资源
      最近更新 更多