Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Branches are my biggest pain point in Mercurial. What branching workflow does Facebook use?


Same here. As outlined below, we tried to use bookmarks for feature branches a few times and it either doesn't work or we can't figure it out. We used permanent branches for feature branches for a while, but too many of those (even closed) would slow down the repository eventually.

Our coping strategy is MQ. It's not the same, but solves the problem pretty well IMO. MQ patches can be sent around and backed up, so not being able to push them to the server is not such a big issue. Takes a little upfront investment to figure out how they work though, Mozilla has a pretty good guide [1].

[1]: https://developer.mozilla.org/en/docs/Mercurial_Queues


Why not use standard mercurial branches? At least you're able to say in which branch commit was done and draw a clean history for them.


I do use standard Mercurial branches, and I vastly prefer Git's model. I ask because there might be a better way to use them that I've overlooked.


Mercurial's equivalent to git branches (movable pointer to a commit rather than embedded commit metadata) is bookmarks.


From what I've seen, bookmarks are not "branches" in any sense, really just pointers to commits.

I've tried several times to use bookmarks for feature branches (read: branches developed in parallel to each other and the default branch). I thought I just can't figure it out, but it really seems impossible at this point.


> From what I've seen, bookmarks are not "branches" in any sense, really just pointers to commits.

That's exactly what git branches are.


Branches in git are exactly pointers to graph. If you delete such a pointer you loose your branch.

Even worse - with next git gc you will loose your data as parts of graph with no pointer is assumed to be dead by git.


What do you mean by "git model"? Creating branch per feature? But that's exactly what I do in mercurial!


In what way? Have you looked at bookmarks?


I have. I'm wondering if they use bookmarks or named branches, and what strategies they've arrived at to work with either.


I'm pretty sure they're using a bookmarks workflow.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: