Servo developers, I noticed that Servo and a number of other Servo related Git repos have tons of merge commits. This is the Git[Hub] way after all: create a merge commit for every pull request.
The thing is, I'm not a huge fan of merge commits in version control, especially for large projects. I like having simple, linear history where any commit you land on is "good," can be built, and bisected on. This is more or less what we do in mozilla-central (ignore the merge commits for the integration repos - those were a necessary evil to deal with scaling issues 4+ years ago and are going away). There are other reasons to avoid merge commits too. See the giant wall of text I wrote in bug 1266863 on the subject. Thinking forward to a day when we start vendoring more Rust/Servo components into mozilla-central and the VCS "syncing" complications that arise from it, I would much rather be dealing with Servo repos with linear history because well, linear is simpler than the DAG spiderweb that merge commits produce (run `gitk` on the Servo repo to see what I'm talking about). May I propose Servo change its landing bot to rebase commits instead of merging them so that the repo history be linear so all the complexities around merge commits can go away? FWIW, other VCS hosting and landing services (like Gitlab and MozReview) have a button that rebases instead of merges for landings. Furthermore, Facebook rebases on many of their GitHub projects (they don't use the buttons/APIs on GitHub). So there is definitely precedence for rebasing instead of merging. Obviously you can't force every random Rust project on GitHub to adopt a linear commit model. All I'm asking is that Servo and its immediately related projects consider changing their ways. Who knows, perhaps by doing so you'll help convince GitHub that there are valid use cases for linear repos and they'll support rebasing in their web UI. At the rate they are copying good ideas from Gitlab and other hosting providers, I wouldn't be surprised if they were already considering it :) _______________________________________________ dev-servo mailing list [email protected] https://lists.mozilla.org/listinfo/dev-servo

