Latest arcanist incorrecly parses comments


Observed Behavior:

arc diff --create fails with error

Commit message has errors:

  - Error parsing field "Subscribers": The objects you have listed
  include objects which do not exist (#, Tip:, Write, "Fixes, T123", in,
  your, summary, to, automatically, close, the, corresponding, task,
  when, this, change, lands.).

You must resolve these errors to continue.

Copy-paste of the message (with vim line numbers, sorry, the message doesn’t have them, also please note the trailing space that arcanist generates and my vim displays, not sure if this is important)

  1 cleanup
  3 Summary:·
  5 Test Plan:·
  7 Reviewers:·
  9 Subscribers:·
 12 # Tip: You can add a project as a subscriber or reviewer by writing
 13 # "#projectname" in the appropriate field.
 16 # Describe the changes in this new revision.
 17 #
 18 # Included commits in branch cleanup:
 19 #
 20 #         74c5b959fca1 cleanup
 21 #
 22 # arc could not identify any existing revision in your working copy.
 23 # If you intended to update an existing revision, use:
 24 #
 25 #   $ arc diff --update <revision>

Expected Behavior:
create new revision

Phabricator Version:

Reproduction Steps:
sync arc to 2650e8627a20e1bfe334a4a2b787f44ef5d6ebc5 and do arc diff --create

The previous version 30b7835c37b56ac9ea1de6b2291b3fb71c9e6853 doesn’t exhibit this behavior



Your version of Phabricator is about 25 months old, and Phabricator hasn’t rendered the “Tip” line since December 16, 2016.

Upgrading Phabricator is the easiest way to fix this. Alternatively, comment out the “Pro Tip” construction in DifferentialGetCommitMessageConduitAPIMethod.php.

I’ll probably also fix this in arc too since it’s a fairly significant compatibility break, but your milage may vary if you don’t keep Phabricator and arc at least somewhat up to date. Updating is also the only way to make sure you’re patched against security issues, and we’ve mitigated several major security issues in the last couple years, including this one: