This seems like a bug in Diffusion which causes the final diff created by the auto-closing to be wrong.
Our workflow is pretty straightforward:
- Develop on a feature branch
- arc diff
- [update and repeat arc diff if necessary]
- arc land
We're using git with immutable history, which means arc land merges the feature branch into master.
Diffusion is configured to auto-close revisions appearing in master, so once the feature branch is merged, the revision gets auto-closed and a new diff is created for it.
However, for some reason this autoclose diff only considers the first commit being merged (i.e. the first commit in the feature branch) rather than the whole set. Asking Diffusion to diff between the previous-to-last diff and the auto-close diff (frequently referred to as "changes prior to commit") makes it look as if before closing the revision, the author undid pretty much everything they did except for the first commit.
This is confusing. I'd expect the auto-close diff to pick up the merge commit and contain all the changes merged in it, so that diffing it vs. the previous-to-last diff of the revision would indeed yield all the changes made after the last manual diff and before the actual merge/push.