Live data from Hacker News

Phabricator, Wikimedia’s new collaboration platform

blog.wikimedia.org

21–30 of 77 posts

Re: Phabricator, Wikimedia’s new collaboration platform

#21

Earlier quoted context omitted.

GitHub doesn't have a way to assign reviews to more than one person or to see the code reviews that you need to take action on (meaning code you need to review or reviews you authored that need updating, without showing reviews that you're waiting for another person on) on a single repo, let alone across all repos. GitHub's emails are incredibly noisy to the point that I'm reluctant to make inline comments for fear o…

GitHub does have the ability to assign to ( https://help.github.com/articles/assigning-issues-and-pull-r... ) and filter by assignee ( https://help.github.com/articles/filtering-issues-and-pull-r... ). If you want to pull in multiple reviewers, you can @mention them. Even in Phabricator, though, when you have multiple reviewers only one has to accept for it to be accepted. Oftentimes it is _more_ confusing to have mu…

> Even in Phabricator, though, when you have multiple reviewers only one has to accept for it to be accepted. Oftentimes it is _more_ confusing to have multiple reviewers because you don't know who should have the final say.

Yeah, this depends on workflow. We generally send every piece of code to two reviewers but just wait for either one to accept, unless there's a particular reason that both should look at the review. This works well for us but I can see how it wouldn't work as well for people with other processes.

> The commenting system is a matter of preference, but having forgotten to "Clowncopterize" (a great demonstration of the professionalism of those who hack on Phabricator) comments, and given that they thread in email, it hasn't been a problem for me. Though I understand where you're coming from.

Yes, Phabricator's isn't perfect but it's the best of the ones I've tried, especially if everyone using it is familiar with the tool and uses it frequently (that is, you might forget to Clowncopterize once or twice ever, but then you'll know for the future). I used to use Kiln (http://www.fogcreek.com/kiln/) which had a different approach for emails – they essentially debounce emails to have a half-hour delay and coalesce any emails within that timeframe together, so you get fewer emails but don't need to submit the collection of comments explicitly. Having tried all three choices, I'd say that they're all painful in different ways and I personally prefer Phabricator's approach.

Re: Phabricator, Wikimedia’s new collaboration platform

#22

I've been using the code review portions recently. The pre-commit workflow doesn't work too well with git, since the review happens before you upload the code. So everyone needs a local php program to both upload code diffs, and download the code diffs (to support multiple VCS systems). And once it's approved, you need to merge and push it locally (there is a command in the program to do this in one step). Writing un…

I've been using Phabricator for almost a year now in our company. At first, I also had my questions about the workflow with arcanist (the local PHP cli software to interact with Phabricator). However, right now I really love it and miss it on every repository which works without Phabricator. Commands like 'arc feature', 'arc tasks' and 'arc inlines' provide a solid abstraction over the repository to bring the workflow to the cli.

About the unit tests: indeed, out-of-the-box Phabricator only supports running them locally (you can configure the unit engine to run every time a piece of code is been send into review). Luckily, it's not that hard to hook into the event engine (https://secure.phabricator.com/book/phabricator/article/even...) to, for example, trigger your CI-server to run the test suite for a specific revision. Also, Phabricator is still being developed actively. There are a bunch of alpha and beta applications which will only make it more powerful (for example: DryDock and Harbormaster, which will ease the work for automatic builds: http://www.guywarner.com/2014/05/integrating-jenkins-and-pha...)

In my opinion, Phabricator is one of the most powerful tools around for doing code reviews and effective collaboration management. Even with the large amount of beta applications (which are promising in many cases) the decision for us was easy to make.

Re: Phabricator, Wikimedia’s new collaboration platform

#23

Phabricator rocks, primarily as a code review tool – we've been using it at Khan Academy since 2012. It's sad how much better it is than GitHub PRs, especially for a large team. I'm looking forward to watching it continue to grow. :)

I prefer github, personally. Mostly because it doesn't fight the nature of git as much (though, surprisingly, it sort of does a bit).

Particularly, if you have a back-and-forth of changes on a PR, the inline comments that relate to lines that haven't changed stick around (and references to no longer connected comments are available in the UI). I find this huge for progressively dealing with things. And it does this whether you've force pushed a rebased cleanup or just capped another change onto the PR's branch.

And then there's the way phabricator manipulates your commit messages in rather elaborate ways that are often confusing or frustrating. It also shows that the authors don't have a lot of respect for the idea of using merge bubbles over squashing commits, and I much prefer bubbles. And because of using merge bubbles primarily, github can tell when you merge a PR even if you don't use its tools to do it.

And while I like the ability to batch comments, I don't like that it makes you always batch them. Sometimes I really only have one thing to say and it's way too easy to forget to submit.

Likewise I like the ability to do pre-review tests, but for a large codebase I also really love the commit-hook UI cycle of github's integrations with stuff like travis and circleci, because a lot of the things I've worked on in the last couple of years have full compile+test cycles in the 10s of minute ranges.

Two column layout, the batch commenting, pre-review-tests, and the code highlighting are all great. But I really prefer tools that really strongly integrate with git. I'm not really interested in vcs portability at this point.

I often wonder how many people who have really strongly negative opinions of GH PR workflows have been forced to use it with full forks instead of a shared repository. Honestly, github forks are terrible for anything but casual submission of open source patches (and even there I think there'd be better ways). I've seen people try to use them for more serious stuff and it never goes well.

Re: Phabricator, Wikimedia’s new collaboration platform

#24
post #20

Earlier quoted context omitted.

GitHub does have the ability to assign to ( https://help.github.com/articles/assigning-issues-and-pull-r... ) and filter by assignee ( https://help.github.com/articles/filtering-issues-and-pull-r... ). If you want to pull in multiple reviewers, you can @mention them. Even in Phabricator, though, when you have multiple reviewers only one has to accept for it to be accepted. Oftentimes it is _more_ confusing to have mu…

I have no idea where that help page took those screen shots from... but it is definitely not from github.com or github enterprise. I see no way to assign pull requests... i don't even see the checkbox they mention on the PR list!

That's really odd.. I see it on both the public github and the not completely up-to-date GH-enterprise setup I have access to...

Re: Phabricator, Wikimedia’s new collaboration platform

#25
post #5

Earlier quoted context omitted.

I submitted it with the title "Wikimedia has completed its migration from Bugzilla to Phabricator".

That would be much better

Perhaps the mod might like to put it back to its less misleading title?

Re: Phabricator, Wikimedia’s new collaboration platform

#26

I've been using the code review portions recently. The pre-commit workflow doesn't work too well with git, since the review happens before you upload the code. So everyone needs a local php program to both upload code diffs, and download the code diffs (to support multiple VCS systems). And once it's approved, you need to merge and push it locally (there is a command in the program to do this in one step). Writing un…

Shopping around for these kinds of tools recently. Phabricator looks great, but the point you mentioned is a show stopper for me. I would love to see Phabricator have GH-style code review, even if it meant dropping support for non-DVCS. Arcanist is neat but I don't want to learn a proprietary CLI tool just to do code review.

Atlassian is expensive and only supports GIT, but the UI for VCS is way better (as is the Jenkins integration).

Re: Phabricator, Wikimedia’s new collaboration platform

#27
post #6
post #2

Every time I saw a project management tool I instantly want to compare it to redmine which is based on Ruby. I failed to see obvious advantages from Phabricator yet.

Seriously, Redmine is your standard? It has to be one of the clunkiest, slowest and all around uncomfortable project management tools out there. We use it at our place of work, and out of 30+ developers, only a handful of people are content with it.

What would you recommend / advise then?

Re: Phabricator, Wikimedia’s new collaboration platform

#28
post #6

Earlier quoted context omitted.

Seriously, Redmine is your standard? It has to be one of the clunkiest, slowest and all around uncomfortable project management tools out there. We use it at our place of work, and out of 30+ developers, only a handful of people are content with it.

What would you recommend / advise then?

At our company we are about to decide between these two: VersionOne and TargetProcess.

I'm not affiliated to them.

Re: Phabricator, Wikimedia’s new collaboration platform

#29
post #26

I've been using the code review portions recently. The pre-commit workflow doesn't work too well with git, since the review happens before you upload the code. So everyone needs a local php program to both upload code diffs, and download the code diffs (to support multiple VCS systems). And once it's approved, you need to merge and push it locally (there is a command in the program to do this in one step). Writing un…

Shopping around for these kinds of tools recently. Phabricator looks great, but the point you mentioned is a show stopper for me. I would love to see Phabricator have GH-style code review, even if it meant dropping support for non-DVCS. Arcanist is neat but I don't want to learn a proprietary CLI tool just to do code review. Atlassian is expensive and only supports GIT, but the UI for VCS is way better (as is the Jen…

See https://secure.phabricator.com/T5000 for the upstream thoughts on using Phabricator without arc.
Post reply on HN