Mercurial or Git as SCM for Java 12? “Using Git instead of Mercurial is a great idea”
Last month, the JDK team made a call for discussion in order to investigate a number of options for JDK source code management. But is it time to retire Mercurial in favor of Git? We talked to Java Champion Stephen Colebourne about all this and more.
With Project Skara, the JDK team wishes to investigate alternatives for JDK source code management, that’s been using Mercurial repositories since 2008.
Is it a good idea to “retire” Mercurial and choose Git instead? Chime in with a vote and see what Java Champion Stephen Colebourne has to say about this discussion.
Don’t miss the interview with Stephen Colebourne about Project Skara:
JAXenter: Do you think moving the JDK from Mercurial to another Version Control System is a good idea?
Stephen Colebourne: Whatever you think of the merits of each SCM, it is clearly the case that Git has won over Mercurial in terms of developer mindshare. As such, it only makes sense to consider moving the JDK to the most popular, widely used and widely understood SCM platform. From my perspective, I think using Git instead of Mercurial is a great idea. I can’t see any case to move to any other SCM.
JAXenter: What benefits would a move to another SCM -let’s say Git- have?
Stephen Colebourne: Git is more widely known, more widely adopted, has a wider array of related tooling. Plus it provides the ability to host on GitHub or another central host, which tends to increase project awareness.
JAXenter: What problems would such a move cause?
Stephen Colebourne: Project committers (which I am not) would have to adapt their tooling, and potentially learn a new SCM. The source history would be retained, so that isn’t a problem.
It only makes sense to consider moving the JDK to the most popular, widely used and widely understood SCM platform.
JAXenter: Is there any real alternative to Git as a replacement for Mercurial?
Stephen Colebourne: No. The JDK might as well stay on Mercurial if it’s not moving to Git.
JAXenter: How about the Review Process? Should it stay in the mailing lists or should it also be changed?
Stephen Colebourne: Many existing committers find the existing review process on mailing lists to be a positive feature. I understand that viewpoint, but I think it also creates misunderstandings when you can’t just add a comment to the exact line that you want to discuss. I do think the use of GitHub style Pull Requests is a challenge for larger projects, but so is a mailing list – I’ve yet to see a perfect solution.
I would say that step 1 is to move to Git without changing the process. Decouple that discussion, and things will be a lot easier.