Page MenuHomePhabricator

tagging a differential revision with a milestone breaks `arc diff`
Closed, ResolvedPublic

Description

When I attempt to submit an update to a differential revision which has been tagged with a milestone, arcanist isn't happy.

arc diff --trace

EXCEPTION: (ArcanistDifferentialCommitMessageParserException) Error parsing field "Tags": The objects you have listed include objects which do not exist (Release-Engineering-Team, (Long-Lived-Branches)). at [<arcanist>/src/differential/ArcanistDifferentialCommitMessage.php:54]
arcanist(), phutil()
  #0 ArcanistDifferentialCommitMessage::pullDataFromConduit(ConduitClient) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1795]
  #1 ArcanistDiffWorkflow::getCommitMessageFromRevision(string) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1527]
  #2 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:469]
  #3 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:394]

Commit message

Subpport sub-commands on cli.Application methods

Tags: Release-Engineering-Team (Long-Lived-Branches), #scap3

Maniphest Tasks: T142880

Summary:
...

Notice the Tags: line has a milestone formatted as Parent-project (milestone) and it isn't using the #long-lived-branches hashtag.

I added the milestone tag via the differential web ui. I'm not even sure if I could have added it to the commit message, most likely that would have also caused arcanist to complain.

I tried amending the commit message, changing tags to refer to the milestone's hashtag, as follows:

Tags: #long-lived-branches, #scap3

Unfortunately, arc diff amends it again, putting it back (to Tags: Release-Engineering-Team (Long-Lived-Branches), #scap3) then aborts with the exception I pasted at the top of this report.