There seem to be two ways you can use arc diff with git at the moment:
* treat history as entirely immutable: there are no arc droppings in the commit history at all, but if you rebase a branch and resubmit, `arc diff` can't associate the new commit with the right Differential diff Dxyz
* treat history as entirely mutable: each commit message is rewritten into a very arc-ish format ("Summary:" prepended to the long commit message, "Test Plan" and "Reviewers" most likely also added, etc.) but after a rebase/resubmit, arc does know which Differential diff it is dealing with
I would prefer a middle ground in which arc amends the commit message with the minimum of information it needs to relate the change to its Differential diff - I think that means just the Differential Revision and nothing else, the same way Gerrit adds the Change-Id and nothing else. Perhaps { "history.immutable": "almost" } could be the configuration option for this? :-)
Relatedly, it would be nice if arc could bundle one-line metadata like the Differential Revision into a "pseudo-footer" with other one-line git metadata such as the Signed-off-by, Reviewed-by, etc. that are common in projects borrowing their coding standard from the Linux kernel, or Bug, Applied-upstream etc. in <http://dep.debian.net/deps/dep3/>, like so:
```
Fix that thing with the stuff
This thing is wrong and should be fixed, because otherwise badness.
In particular, Alice reported that this caused other stuff to go wrong.
Signed-off-by: Bob <bob@example.com>
Bug: http://phabricator.example.com/T123
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+bug/1
Differential Review: http://phabricator.example.com/D321
```
(At the moment arc always adds extra blank lines.)