We recently started to use Phabricator for Code Reviews and Repository tracking. Today we had the first time were we merged feature branches on a repository master branch and I had to discover that autoclosing of revisions did not work as we hoped.
I think I should first explain our workflow. We normally get tasks from our customers which then will be worked on by the assigned developer. For each task a developer creates a new feature branch from master. On the feature branch developers commit until they finished the task, they push their branch for testing and create a revision with
arc diff. So far this all works very well.
Once the revision is reviewed we accept it and let the customer know the ticket has been finished. They do their own visual and functional review and if they are happy we will be ready to land it on master. This is then done by the specific project owner with a squash merge in git. I was initially under the impression phabricator was matching revisions and commits based on their changeset, but this seems not to be the case.
The squash commit was not associated with the accepted revision and also didn’t close it.
How can we get Phabricator to close the accepted revisions? I found that commits with
closes D1 should close the revision
D1 but this would mean the project owner would have to check in Phabricator for the correct revision each time he merges a branch, which isn’t any faster than closing the revision manually.
All repositories are set to only autoclose on master and arc
history.immutable is set to
true. We also set