Thread overview
[dmd-internals] So about the whole pull request thing
Oct 02, 2012
David Nadlinger
Oct 02, 2012
Jacob Carlborg
October 02, 2012
Hey,

(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
review.

Thoughts, everyone?

Regards,
Alex

[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
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals

October 02, 2012
On 10/2/12 11:11 AM, Alex Rønne Petersen wrote:
> I recently took a liking to Phabricator[1] for project management.

Phabricator has been developed internally at Facebook and I use it on a daily basis. I very very highly recommend it. If there's any momentum to move to Phabricator, I'd fully endorse it.

The only reason I haven't suggested migrating to Phabricator yet is I didn't want to stir things once again too early. But if use of github reviews is painful, we definitely should look at Phabricator.


Andrei

_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals

October 02, 2012
On 2 okt 2012, at 17:11, Alex Rønne Petersen <xtzgzorex@gmail.com> wrote:

> Hey,
> 
> (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).


Could the github API be useful here, provide better interface?

-- 
/Jacob Carlborg

_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals

October 02, 2012
On Tue, Oct 2, 2012 at 5:24 PM, Andrei Alexandrescu <andrei@erdani.com> wrote:
> The only reason I haven't suggested migrating to Phabricator yet is I didn't want to stir things once again too early. But if use of github reviews is painful, we definitely should look at Phabricator.

I could also imagine using Phabricator – while I have not used it extensively yet, it looked like it has clever solutions for a few problems when I played around with it some while ago.

However, let's not forget that GitHub has worked pretty darn well for us so far. Yes, we obviously wouldn't have a pile of open pull requests if it were not for GitHub, but then, we'd probably only get something like 1/4 of the contributions, and half of them would be bitrotting as badly reviewed patches attached to some Bugzilla ticket.

What I am saying is that we should be very clear about in which areas Phabricator would provide a definite advantage compared to the current situation, and if it is enough to outweigh the possible negative consequences of switching away from GitHub – both in order to make a good decision in the first place, and then to have a good answer to the inevitable »But why on earth would we want to do that«-type questions in the aftermath.

David
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals