Basically, if a git repository hosted by Phabricator is non-bare on disk, Diffusion doesn't handle it well. This may be by design, but I couldn't find anything in the docs calling it out. Potentially related to T10467: Diffusion history doesn't update.
|phabricator||3cd0001d8b95897d5efafa0c391a9e870fd35471 (Sun, Dec 11)|
|arcanist||e17fe43ca3fe6dc6dd0b5ce056f56310ea1d3d51 (Oct 21 2016)|
|phutil||0ae0cc00acb1413c22bfe3384fd6086ade4cc206 (Sat, Dec 10)|
Steps to reproduce:
- Create a new, empty hosted git repo in Phabricator.
- Clone the repo to another machine.
- Make some commits to the master branch and push them to origin.
- Log into the server that Phabricator is hosted on. su to the daemon-user. Navigate to the directory where the repo is stored on disk.
- git config --local core.bare false && mkdir .git && mv * .git/ && git reset --hard HEAD to make the repo non-bare.
- View the repo in Diffusion.
Files, commits, and branches are displayed and navigable as usual.
An error is displayed:
No Such Branch
There is no branch named "master" in this repository.