Phabricator

Overview

The Phabricator instance uses Phabricator for code review, repository hosting, bug tracking, project management, and more. It's similar to GitHub or GitLab however it does operate a bit differently. I chose it because it has a lot of features while still being lightweight. This is the hub for all the software and electronics collaboration.

Phabricator uses Projects as an organizational tool. Each project has its own workboard for tasks, bug reports, etc... and each project can have specific members. A project doesn't necessarily need to be a "project" it can be used as a forum or just for general planning.

Diffusion is used to host repositories. It has the ability to pull repositories from external sources as well as push to them. Right now I have it setup to push repositories to GitHub and mirror some related Dreamcast projects.

Differential is used for pre-commit code review, this is one of the big differences between Phabricator and GitHub or GitLab. Instead of forking a repository, creating a feature branch, and submitting a pull request with Differential you just submit a patch that can be reviewed before being merged. This can be done manually or ideally by using Arcanist. Arcanist has a bunch of other useful features that I'm honestly still figuring out.

Official Phabricator Documentation

User Guide

Differential

Arcanist

Diffusion

Projects


Revision #5
Created Tue, Nov 12, 2019 12:06 AM by Zeigren
Updated Thu, Mar 5, 2020 11:48 PM by Zeigren