GitLab/Phabricator Feature Matrix

This page provides a feature comparison between GitLab and Phabricator. It is important to recognize that comparison on features alone is not a good evaluation of each technology - this is only one aspect to take into account.

Feature

GitLab

Phabricator

Notes

Code hosting

UI for adding/removing files

UI for editing files & committing

Preview README markdown files

Image previews

Browse or download file tree for each Git tag

Add release notes to Git tags

Attach files (such as tarballs) to Git tags

UI to create branches

Branch comparison tool

GitLab does global branch file diffs in one page as well as commits, Phabricator only lists commits and has a per file page to see the visual diff

Fork to personal repo

Organize repos into groups

Download repo's files at any point in history (like git archive)

Visual Git blame

Phabricator only shows the commit hash; GitLab shows author and commit summary

Download RAW file

Public RAW URLs

Phabricator has opaques URLs for RAW files

Fine grained access control

Temporary access control

In GitLab you can grant access to user/groups with expiry date

Per-project code search

Phabricator only offers search by commit message and file names

Global code search

This is an EE only feature in GitLab; We can workaround this by using the GitHub mirror

Repo activity charts

Issues

Milestones/deadlines

Phabricator can define milestones using tags, and has a Countdown plugin for date-based deadlines

Freeform tags

Phabricator supports this through custom fields, controlled by the sysadmin; or project tags

Subscribe to issues

Assign issue to a Git project

Phabricator assigns tasks to tags, so each Git project needs a tag (though tags do not necessarily map to repositories)

Reassign issues between projects

Phabricator doesn't have the concept of product per bug, just project tags; each task can have multiple tags

Search issues in all modules

Reply using email

Dependencies between issues

Gitlab issue: https://gitlab.com/gitlab-org/gitlab-ee/issues/2035

Private/confidential issues

Refer to users inline in comments

Merge duplicate tasks

Gitlab issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/26372

Custom issue creation forms

Phabricator allows creating ad hoc forms for different type of tasks

Add/remove custom fields

Attach files to comments

Inline attachment previews

DnD for reordering issues

https://about.gitlab.com/2017/03/22/gitlab-9-0-released/#reorder-issues-in-board-list-ce-ee

Export issues in CVS/JSON for local processing or migration

Fast-forward commit vs branch merge

In GitLab fast-forward is a EE option only. However, we have been discussing this with them and it is possible that the feature could be migrated to CE.

Suggest existing issues

Bugzilla will suggest possible existing bugs when you are adding a new one. Not supported by Phab.

Code review

Personal fork and merge request

Upload diff file

Per line comments

Global diff view

Autoclose on push through commit log

Post-commit audit

Phabricator also allows assigning auditing/post-commit reviews to users

Tooling

REST API

Android+iOS client

Phabricator has specific mobile web UI

CLI

GitLab's are community based. Phabricator has an official tool (Archanist); however the community git-phab might be a better option.

Python API

Other features

Project pages (similar to GitHub io pages)

GitLab: https://pages.gitlab.io/

Personal contributor overview pages

With Phab it's something you need to configure and set up: https://phacility.com/phabricator/dashboards/

Continuous integration

Design review

Phab: https://www.phacility.com/phabricator/pholio/

Automated global and personal filter rules (Herald)

Phab: https://www.phacility.com/phabricator/herald/

Initiatives/DevelopmentInfrastructure/FeatureMatrix (last edited 2017-05-13 10:00:34 by CarlosSoriano)