[dmd-internals] So about the whole pull request thing

Alex Rønne Petersen xtzgzorex at gmail.com
Tue Oct 2 08:11:47 PDT 2012


(Sending this to the ML so as to not pollute/spam the pull request[0].)

Don, I think you make some good points about pull requests being bad.
They seem great
at first glance, but turn out to be very lacking for certain kinds of
projects (such as ours,
where we have to care about lots of platforms and configurations and
one tiny little change
can trivially break everything).

I recently took a liking to Phabricator[1] for project management. The
sliiightly witty site
pretty much summarizes what it does. The primary reason I like it is
that it integrates well
with Git (both locally and remotely) and is based around the idea of
sending a *snapshot* of
a bunch of commits (or a branch) for review rather than GitHub's
approach where you always
see the latest version of a branch. It also has commit auditing so
people can follow up on
committed code that may be bad/needs fixing.

Phabricator also has a wiki which I think could be very useful for
documenting development
processes (as opposed to the somewhat obscure wiki it's located on right now).

I don't think we'll need the task management part of Phabricator.
Though, I suppose it sort
of depends on whether we're going to use Trello seriously. One thing I
learned from using
both Trello and Phabricator was that Phabricator is much more scalable
in terms of having
an overview of a ton of tasks, whereas Trello can easily turn into a
nightmare in this regard.

You can see Phabricator in action at Facebook's instance[2] or at the
one we're using over
at Lycus[3] (just log in with your GitHub account). FWIW the LLVM
folks also recently
started using Phabricator[4].

Another advantage of Phabricator is that it has a very extensive
API[5] (as opposed to
GitHub's somewhat lacking API). Note that despite them calling it
low-priority, the API has
actually been stable for many months now and is used by Arcanist[6].

The only immediate downside I see to Phabricator is that the barrier
to contribution is going
to be a bit taller. It does require a bit of effort to install
Arcanist in order to send commits for

Thoughts, everyone?


[0] https://github.com/D-Programming-Language/dmd/pull/1123#issuecomment-9073020
[1] http://phabricator.org
[2] https://secure.phabricator.com
[3] http://phabricator.lycus.org
[4] http://llvm-reviews.chandlerc.com
[5] http://www.phabricator.com/docs/phabricator/article/Conduit_Technical_Documentation.html
[6] http://www.phabricator.com/docs/phabricator/article/Arcanist_User_Guide.html

More information about the dmd-internals mailing list