Hi there, I wonder if there is a way to open an audit for a whole branch (and potentially updating it). You see, our team has a feature branch workflow. We have a rather small team and there are branches that contains breaking change (incompatible classes, incompatible libraries version), and we like merges, so the feature branch workflow is truly the best for us.
The thing is, Differential feels really awkward to use with this workflow. Half the time we are trying to update the review it become screwed up, and it feels really hard to contribute to a branch after a review since pulling/pushing onto branch after a review is opened will close or screw up the whole thing. On top of that, we must use arc, which feel unnatural when used to a pure git based workflow.
Since every commits are already pushed to the server in branches anyway, I started to think about audits. Audit works really great for us. It work with pure git, we can comment, close and more. Viewing changes, comment on it, reject and accept is our only need for reviewing code.
The only piece missing is to open an Audit for many commits. We would like to open an audit for a feature branch, push some changes when needed and some time later, merge it.
The only way I can think about is to create an Herald rule that create an audit for a merge commit. If we have some feature branch named T82-sound-module, we could create a branch like T82-sound-module-review, merge the feature branch into it and trigger the rule only for branches that end with -review. It could work, we would only use git, but playing around with branches only to open an audit don't seem really intuitive, especially for newcomers, and I can't think a way to update the audit to reflect later changes in the feature branch. It would be messy, but might work.
Is there a better way to do what i'm trying to do? I cannot be the only one using phabricator that wants and pure git based workflow / feature branch based workflow. Using audit seems like the only possible way to do it right now. Thanks for all your answers.
Generally, Differential is pre-commit review, and Audit is post-commit review. It's not "code review" to us if you've already committed the code, as you've bypassed the most important part which is challenging why or if the code needs written in the first place.
I've never had a problem running from a feature branch with Differential. Local changes get squash-merged and reviewed as a single idea, lands into the feature branch, and I re-pull or update whenever new code lands into the branch. Whether it's a branch or master is really no difference. You can choose to either review every idea as it hits the branch, or wait and review the merge into master as a single pull. Up to you.
Overall I think it's better time spent on our side looking into whatever issues you are running into with arcanist/Differential rather than make a new workflow for Phabricator. We do plan to build "pull requests" though, since maybe people are naturally allergic to PHP (roughly 4.5% of the population). See T5000 for details.
Interesting read. Indeed, our code is already committed and pushed (in feature branches), so Audit seems the way to go, but reviewing commits one by one is absolutely not the desired outcome.