合并 TFS 签入策略以获得正确的文件名

尼兰詹·萨哈

上下文:一些开发人员在签入他们的代码之前没有维护正确的命名约定。因此,构建过程不会获取这些工件,因此在目标服务器上部署后依赖关系被破坏并导致失败。例如,包含 db 函数的文件GetMaxId()应具有如下命名约定GetMaxId.Function.Ora.Sql

要求:是否可以为此实施任何签入策略,以便开发人员可以在签入之前通知问题。在该过程中,我们可以节省大量时间和精力。

杰西霍因

是的,这可以使用将在 Visual Studio 中运行的 TFVC 签入策略实现。这是一个需要部署到每个客户端的自定义 dll。签入策略只是一段代码,当用户打开签入挂起的更改窗口时将运行该代码。

对于需要支持的每个 Visual Studio 版本,您都需要一个策略程序集。可以在此处找到正确的框架库集等

您需要覆盖该Evaluate方法来实现您的检查。您可以通过 访问选定的待定更改列表this.PendingCheckin.PendingChanges...以下是查看选定要签入的文件的策略示例:

public override PolicyFailure[] Evaluate()
{
    if (PendingCheckin.PendingChanges.AffectedTeamProjectPaths.Length > 1)
    {
        return new[]{new PolicyFailure("Checking into multiple projects at the same time", this)};
    }
    var branches = this.PendingCheckin.PendingChanges.Workspace.VersionControlServer
        .QueryRootBranchObjects(RecursionType.Full);
    var groupedChanges = PendingCheckin.PendingChanges.CheckedPendingChanges.GroupBy(
       change => branches.SingleOrDefault(branch => change.ServerItem.StartsWith(branch.Properties.RootItem.Item)));
    if (groupedChanges.Count() > 1)
    {
       return new[]{new PolicyFailure("Checking into multiple branches at the same time", this)};
    }
    return new PolicyFailure[0];
}

您需要自己解析要与文件名匹配的文件,或者依靠另一个库来为您解析。Checkin 策略框架只允许您访问文件的路径。

如果您要解析文件,您可能需要一些缓存。

可以在此处找到示例策略

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自动执行TFS签入和合并的流程和文档

来自分类Dev

TFS合并问题,缺少新文件

来自分类Dev

为什么TFS合并会自动合并文件,而不是提示我手动合并文件?

来自分类Dev

在分支之间合并TFS变更集,而不是选择文件

来自分类Dev

如何仅合并TFS中变更集中的选定文件

来自分类Dev

TFS合并冲突:应该使用哪种源文件编码?

来自分类Dev

自动合并失败时如何在TFS中合并CSProj文件

来自分类Dev

自动合并失败时如何在TFS中合并CSProj文件

来自分类Dev

[合并]和[合并,分支]之间的TFS差异

来自分类Dev

TFS在线。在合并到代码库之前,在开发人员签入上创建代码审查

来自分类Dev

在TFS中合并提交

来自分类Dev

TFS在TFVS上合并冲突

来自分类Dev

TFS签入替换文件

来自分类Dev

将TFS签入策略限制为特定用户

来自分类Dev

TFS2015 vNext构建“构建签入策略”

来自分类Dev

TFS 2015与Git存储库的分支/合并策略是否可用于多团队合作?

来自分类Dev

以编程方式合并两个变更集,获取最新信息,在 TFS 中签入

来自分类Dev

TFS通过保留不存在的文件或与之自动合并意味着什么?

来自分类Dev

TFS无基础合并在changset中包含未更改的文件

来自分类Dev

TFS保留不存在的文件或与其自动合并意味着什么?

来自分类Dev

签出文件后可以在TFS中执行合并操作吗?

来自分类Dev

在TFS中查找合并候选者

来自分类Dev

TFS从子级合并到主要级

来自分类Dev

TFS合并-确保包括所有更改

来自分类Dev

TFS合并开发分支到主要

来自分类Dev

从TFS迁移后合并GIT中的分支

来自分类Dev

TFS中来自Shelfset的自动合并代码

来自分类Dev

TFS 2010:删除要合并的变更集

来自分类Dev

TFS Baseless合并会产生什么影响?

Related 相关文章

热门标签

归档