Page MenuHomePhabricator

Allow customizing the update message template
Closed, DuplicatePublic

Description

Many users in my organization want to branch off of a branch. As described in https://secure.phabricator.com/book/phabricator/article/arcanist_diff/ and https://secure.phabricator.com/book/phabricator/article/arcanist_commit_ranges/, the default base for commit ranges doesn't support this well, and git:branch-unique has some weird edge cases.

This problem is difficult to solve automatically for all users and use cases, but it wouldn't be an issue at all if users knew that they could use arc diff --base other-branch. However, since most of the time a normal arc diff does the right thing, it's hard to form a habit.

As such, it would be great to add information in the comment in the differential update comment educating users about --base. Adding something like the following in arcanist/src/workflow/ArcanistDiffWorkflow.php:getUpdateMessage would do the trick:

If this is a sub-feature (eg, a branch of a branch) and you don't want to update this revision, you can use:
   arc diff --base parent-branch

If it wouldn't be desirable for all users to have that as part of the update message, it would be great if users could have custom update templates so that the default could stay the same but organizations that like branches off branches like mine could add that help text.

Thanks!

Related Objects

Event Timeline

I'm going to merge this into T6072, which discusses some of these issues in greater detail.

These are real issues, but I think customizing the template is almost certainly not very useful in resolving them. We have substantial evidence that users often don't read this stuff, and that putting information in message templates isn't a very effective way to teach users about features. For example, users are often surprised to learn about "Depends On", but it is explained in one of the creation message template tips.

You also don't need to run arc diff --base <branch>. It is sufficient to run arc diff <branch>.

This isn't really what we want anyway, since if this was a good solution we could simply remove all of the base rules and make users type arc diff <something> every time and completely avoid this issue. However, many users hate this, so this isn't really a solution.