Le travail entrepris par la communauté OpenJDK pour déménager le code source de Java standard depuis les référentiels Mercurial vers les référentiels Git sur Github se poursuit, la fin de l’opération de transfert étant prévue pour le début du mois de septembre. Normalement, d’ici cette date, le Java Platform Group d'Oracle doit faire en sorte de transformer le référentiel jdk/jdk hébergé sur GitHub, actuellement un miroir en lecture seule, en master de lecture-écriture pour les sources du JDK 16. Cette transition devrait avoir lieu quelques semaines avant la disponibilité générale du JDK 15 prévue le 15 septembre.

Conformément au cycle de publication à six mois de Java, le JDK 16 devrait être disponible en mars 2021. La migration des référentiels a été initiée dans le cadre du projet Skara mis en place pour étudier des options alternatives de gestion et de révision du code source du JDK, et pour effectuer sa migration vers GitHub.

Optimisation du code

Trois raisons ont motivé la migration des référentiels d'OpenJDK vers Git : la taille des métadonnées du système de contrôle de version, les outils disponibles et l'hébergement disponible. En effet, les premiers prototypes de référentiels convertis ont montré une réduction significative de la taille des métadonnées de contrôle de version. Par exemple, le répertoire .git du dépôt jdk/jdk ne pèse plus que 300 Mo dans Git, alors que le répertoire .hg pesait environ 1,2 Go dans Mercurial. La réduction des métadonnées préserve l'espace disque local et réduit les temps de clonage et il y moins de bits transitant sur le réseau.

Concernant les outils disponibles, leur nombre est beaucoup plus important pour Git que pour Mercurial. Tous les éditeurs de texte sont intégrés à Git, soit nativement, soit par le biais de plug-ins. De plus, tous les IDE ou presque, sont livrés avec l'intégration Git, y compris Eclipse et Visual Studio. Enfin, concernant hébergement disponible, Git offre de nombreuses options d'hébergement des dépôts, soit en auto-hébergement, soit sous forme de service. Des besoins de performance, l'accès à des API web pour interagir avec les développeurs et participer à une communauté plus large peuvent justifier le recours à un fournisseur externe d'hébergement de code source. Plusieurs projets Java ont déjà été transférés sur GitHub. C’est le cas notamment d’OpenJFX, de Panama, de Valhalla et de Loom.