Currently, we see on Gerrit the following workflow:
- A first contributor submits a charge. They're both author and committer.
- Another user amends the change (git review -d 10000 ; edit some files or do a rebase ; git commit --amend ; git review -R). The change of the PS is authored by the first contributor, committed by the second.
- This same user can review, and if all is fine, +1 or +2.
On Differential, first, you can very easily edit the commit message, without creating a new patchset: go to the UI, edit revision. So this is pretty straightforward (and matches the Gerrit automatic new PS creation for such change on Gerrit).
The tricky question is how do you amend the rest of the commit.
By default, it works like this on Differential:
- A first contributor submits a change. They're both author and committer.
- A second contributor gets and amends the change locally (arc patch D10000 ; edit some files ; git commit --amend).
- On the web UI, they commandeer the revision. At this moment, the former author is now a reviewer, and the commandeering user becomes the differential author.
- This contributor being the revision author, they can arc diff to send the amended change to Differential.
- As long as self accept and self review is technically allowed, the same contributor wants to accept the change, but the UI will show the change as self reviewed.
Upstream task: https://secure.phabricator.com/T10584