For the life of me I cannot find a suitable way to integrate the Phabricator code review workflow into the gitflow branching model without squashed commits, and trust me I really want to as I love the tool, however this is causing me real issues. In this branching model it is normal for multiple commits and pushes to take place on a single feature branch and for multiple people to work on a single feature branch before merging it back in (making pushes a necessity, let alone for backup purpose). Phabricator just doesn't seem to have a way to deal with this using differential or audit.
Using "arc diff develop" works wonderfully to create the initial review vs the develop branch but I note that if I turn on immutable history (which you have to otherwise it thinks there will only be a single commit) there is no way to update this existing code review with changes made as a results of comments from what I can see. I'd be very happy to be wrong, but if I'm right then immutable diffs are fairly unusable in reality as you'd have to create a whole new code review for any update commits/pushes.
It also seems that Audit is based on single commits, meaning I can't create an Audit that is a diff between all commits in my branch and develop. Again I hope I'm wrong, but if not then it makes post push Audit review workflow unsuitable as a solution too for this model.
I know I've raised something related in {T6019}, however even the advice in there hasn't got me much closer to a possible solution. I'd love any further ideas/advice!