Page MenuHomePhabricator

What is arc diff --verbatim supposed to do, actually?
OpenPublic

Asked by ezyang on Apr 18 2017, 3:27 PM.

Details

According to the docs:

--verbatim
    Supports: hg, git
    When creating a revision, try to use the working copy commit
    message verbatim, without prompting to edit it. When updating a
    revision, update some fields from the local commit message.

This raises questions for me...

  1. Under what circumstances should you use arc diff --verbatim? The obvious usage when updating a revision is if you modify your commit message using git commit --amend. But there is a big danger: what if someone updated the description in the Phabricator web UI? Then, ostensibly, if I amend my commit and then --verbatim, this will clobber the description from the UI. Is there a way to pull down updated metadata from the web? (Don't tell me to just arc patch; that will create a new branch!)
  1. In general, what is the recommended workflow for handling description updates? After initially pushing a Phabricator revision, am I supposed to commit to solely updating the description through either Git or Phabricator? If I update the description through Git, am I supposed to always arc diff --verbatim? Will this truly update ALL fields, or just "some" fields (as the help text suggests?) Which ones? If I update the description through Phabricator, what is the recommended way of getting the changes back into Git, in case I push directly from Git without using arc land? Does arc land even update the description from the web version?

Basically, data about a Differential is distributed between my local VC, and the Phabricator instance, and I don't understand the conceptual model for how I propagate changes between one and the other. I read through many pages in the documentation but didn't see any guidance on the matter.