首页 文章

Phabricator可以在特定分支的提交中忽略Ref Txxx吗?

提问于
浏览
1

我们在git提交中使用 Ref Txxx 语法将它们链接到phabricator任务 . 不错的功能,正是我们想要的,但是:

particular branch 中的开发和变基期间,这会在phabricator历史中产生很多噪音,即很多提交在rebase等之后显示为stroughtrough .

phabricator striketrough

这可以避免吗?当然,我可以使用虚拟 Ref 然后在我认为我完成时替换它们 . 但我可以排除分支机构被phabricator监控,还是有另一种聪明的方法可以解决这个问题?

2 回答

  • 1

    是的,你可以让phabricator只看一些,然后隐含地忽略其他分支 .

    转到 Repositories - >选择存储库 - >操作 - >管理存储库 - >分支 - >编辑 . 在这里你可以设置 Track Only 来描述phabricator应该看哪些分支 .

    我有一些分支,我希望phabricator忽略 personal/$USER/ 分支,因此我将 Track Only 设置为:

    regexp(/^(?!personal)/)
    

    看看documentation .

  • 1

    Anders的答案对我们的需求并不满意,因为排除分支被跟踪意味着Phabricator根本无法看到它,因此分支无法在Diffusion中浏览,这使得无法使用内联注释进行代码审查 . 我们想要做的是阻止 Ref Txxx 在匹配指定模式的分支中发生时生效 .

    事实证明,这正是 Autoclose 所做的 . 文档没有暗示它,但 Ref Txxx 仅在启用了Autoclose的分支中生效 . 该文档仅表示Autoclose控制 Closes Txxx 之类的内容是否可以自动更改任务的状态 .

    在Diffusion中浏览到您的存储库,然后选择≡Ampaction⇾Managestorage⇾Branches⇾Edit .

    假设您要在 feature/* 分支中禁用 Ref 链接 . 将"Autoclose Only"设置为:

    regexp(/^(?!feature\/)/)
    

    (注意使用 \/ 来转义 / ,否则将被视为正则表达式的结尾 . )

    它是一个列表,如果它与任何一个或多个模式匹配,则启用分支,因此假设您要为 masterrelease/*develop/* 分支启用 Ref 链接,并在所有其他分支中禁用它们 . 您可以将"Autoclose Only"设置为:

    master
    regexp(/^release\//)
    regexp(/^develop\//)
    

相关问题