可以修改奥术师/差异模板吗?

Rub*_*lar 11 phabricator arcanist

我正在尝试配置一个phabricator实例,我发现在我们使用时更改arcanist默认模板arc diff对团队非常有用.

实际上模板包含这个文本:

<<Replace this line with your Revision Title>>

Summary: 

Test Plan: 

Reviewers: 

Subscribers: 


# Tip: Write "Fixes T123" in your summary to automatically close the
# corresponding task when this change lands.

# NEW DIFFERENTIAL REVISION
# Describe the changes in this new revision.
#
# arc could not identify any existing revision in your working copy.
# If you intended to update an existing revision, use:
#
#   $ arc diff --update <revision>
Run Code Online (Sandbox Code Playgroud)

我正在谷歌搜索找到任何方法来更改此默认模板,但我找不到它...

有什么方法可以"个性化"这个模板吗?

Val*_*ozz 0

正如 Phabricator 任务T12276中所报告的中提出的问题所报告的,实际上似乎无法自定义提交消息。

\n\n

官方给出的理由是这样的:

\n\n
\n

请记住,Phabricator 是一款企业工具,\n 大多数安装 (99%) 是依赖我们在软件中内置的\n 责任的企业。

\n\n

\xe2\x80\x95乍得,2017 年 2 月 18 日,晚上 11:55

\n
\n\n

无论如何,我尝试探索课程DifferentialCommitMessageField,我发现这个方法生成所有可用字段的列表:

\n\n
  final public static function getAllFields() {\n    return id(new PhutilClassMapQuery())\n      ->setAncestorClass(__CLASS__)\n      ->setUniqueMethod(\'getCommitMessageFieldKey\')\n      ->setSortMethod(\'getFieldOrder\')\n      ->execute();\n  }\n
Run Code Online (Sandbox Code Playgroud)\n\n

并查看所有继承的类DifferentialCommitMessageField。他们中有一些:

\n\n
    \n
  • DifferentialTagsCommitMessageField
  • \n
  • DifferentialSubscribersCommitMessageField
  • \n
  • DifferentialAuditorsCommitMessageField
  • \n
  • DifferentialReviewedByCommitMessageField
  • \n
  • DifferentialTestPlanCommitMessageField
  • \n
  • DifferentialTitleCommitMessageField
  • \n
  • DifferentialSummaryCommitMessageField
  • \n
  • ...
  • \n
\n\n

因此,也许您可​​以自定义一个字段来更改相关类。您可以更改一些默认值,或者可以尝试禁用在以下类之一中声明此方法的字段:

\n\n
  /**\n   * This method is inherited from DifferentialCommitMessageField\n   *\n   * @override\n   */\n  public function isFieldEnabled() {\n    // return true;\n    return false\n  }\n
Run Code Online (Sandbox Code Playgroud)\n\n

简而言之,您可以尝试扩展 Phabricator 来做到这一点。目前,此功能并不是其一般企业用例的优先事项。

\n\n

无论如何,不​​要忘记 Phabricator 是一个免费/自由和开源软件。您拥有使用代码并进行一些改进的所有权利。如果您确实对此功能感兴趣并且有可能添加此自定义功能,则某些用户可能会对您的补丁感兴趣,因此您也可以考虑向上游提出更改(如果它有效并且不会引入回归)。

\n