4 ms·
Used Phabricator/Arcanist for one year straight, it wasn't fun. It's pedantic, buggy, happy to mutate your branches or "revisions" (PRs) unless you take specifi
by vemv 8y ago
Used Phabricator/Arcanist for one year straight, it wasn't fun. It's pedantic, buggy, happy to mutate your branches or "revisions" (PRs) unless you take specific care (which won't happen until you've been bitten enough times).
Wrapping git is essentially a flawed idea; there are just too many corner cases (rebasing, resetting etc) for a wrapper to handle them all.
- lima 8y agoPointing out flaws without detailing them isn't very useful. Arcanist is not a Git wrapper - you can (and should) use Git normally. All Arcanist does is automate the process of creating and uploading patches, and applying remote patches.
- vemv 8y agoWell I cannot recall every intricacy about a tool I don't care about anymore. Simply an experience report from a reasonably reputed HN member. The `arc` command did rewrite my branches, ruin my revisions or otherwise do something buggy a handful of times, particularly with `arc update`.
- maxlybbert 8y agoIt could help people trying to decide whether to switch to the tool.
- ianamartin 8y agoPointing out flaws without going into a lot of detail isn't very good practice if you're trying to offer helpful criticism in a feature request, a bug report, or generally trying to work with the team to improve it. It's completely fine and quite useful for someone to say that their experience was bad with a tool in general on an internet thread about the tool in general.
- rimliu 8y agoIt calls git under the hood how it is not a wrapper? It also alows to create branches, not just manage patches.
- darekkay 8y agoI've had the same experience with Arcanist. I think it might be a good solution if the team is not very experienced with Git, as it provides a straightforward workflow. However, using some more "advanced" features myself, I felt crippled. My main pain point was about squashing all PR commits automatically (i.e. enforcing the Squash Merge strategy). Again, this might be a good idea for junior developers, but I'd rather decide myself how to separate my commits. I also remember having some issues with Arcanist on Windows.
- flak48 8y agoAmen. Common vanilla-git approaches/workflows like feature-branches/sprint branches/hotfix branches are a massive pain due the often undocumented pedantry of Arcanist/Phabricator. For example, if you merge a reviewed commit into two different branches and then god forbid you try to merge those two branches, Arcanist will fail with a cryptic message - and you'll only realize that this is arbitrarily/buggy-ly forbidden only when you try this workflow several times... Vanilla-git or even a Bitbucket/GitHub/GitLab style pull-request style workflow gives you so much flexibility that Arcanist just takes away from you, and the only way to learn these quirks is the hard way....
- sjburt 8y agoPhabricator has a very particular workflows. If you use that workflow, it is really fast to use; you can do almost everything from the command line except the actual code review/approval. And it is pretty good about encouraging that your repo is kept clean, decluttered, and consistent. Whereas gitlab/github etc are much more flexible, but also slower to use and more demanding that your individual developers adhere to your standards. I think Phab is best for projects of 3-5 to 50 (basically until your project is dealing with multiple commits per hour and no single repo is going to be painless), especially when you have new team members and you'd rather let the the tools enforce the workflow as opposed to policing them yourselves. However, if you don't like that workflow, you're never going to be happy with Phab. Finally, Phab has some really nice features that I haven't seen elsewhere, like posting lint errors inline in the merge request.
- rokob 8y agoI used Phabricator at Facebook with a few more than 50 people and it worked pretty well.