|
|
|
|
|
by godzillafarts
850 days ago
|
|
My experience, and my team’s experience, with Graphite has been the complete opposite. Graphite slowed us down considerably, which is a shame because it seems like Graphite was purpose built for a development workflow like ours. We continually stack changes to make code review less burdensome. We had been doing it in just git for some time and decided to try out Graphite. Graphite is quite hostile to collaborating on stacked branches. If one dev restacks and a collaborator is working in a dependent branch, they’re hosed. If a collaborator pushes a change to a dependent branch and they're not using Graphite, hosed. I think one of the main problems is that Graphite abstracts out potentially dangerous git commands into a fancy CLI such that the dev doesn’t really know what’s happening under the hood. It makes things even worse if you’re trying to collaborate on stacked PRs and not all devs use Graphite. Just forget about it. We could have just been using this tool “wrong” but we had to stop using it within our team because it became so disruptive. At the time it seemed like you should only use Graphite if: 1. You are the only person working on a stack. You do not expect collaborators to be pushing changes to any of the branches within the stack, and 2. Everyone on the team is using it too. Maybe things have changed in the intervening time, but I’m always dubious of tools like this. It’s just git. It’s a wrapper CLI around git with a nice GitHub PR integration and a dashboard. It’s already easy to stack branches in git. |
|
I used the stacking workflow years ago when I was working at Facebook. As I recall no one rebases their work on top of someone else’s unmerged stack. I haven’t used Graphite though so I can’t be 100% sure how they intend it to be used or how they advertise the stacking workflow.
You mentioned that you started stacking commits before trying out Graphite. What made you begin stacking in the first place? Did someone on your team use stacking before? I recall the one of the Graphite founders saying that they got a lot of their early customers because of ex-Facebook or ex-Google engineers who missed their stacking workflow.