In questi giorni la community di OpenJDK, l'implementazione libera della piattaforma Java, sta valutando un piano di migrazione da Mercurial a Git.
Da circa un anno il team di OpenJDK è alla ricerca di un modo più efficiente per tenere traccia delle modifiche eseguite al codice presente nei propri repository.
Per valutare le diverse alternative presenti sul mercato è stato quindi avviato il progetto Skara, gli sviluppatori della community coinvolti hanno quindi esaminato, nell'arco di 12 mesi, i vari sistemi di software configuration management e code review.
Dall'analisi è emersa una nuova JDK Enhancement Proposal, lo strumento usato da Oracle per ricevere ed esaminare le proposte della community volte al miglioramento di OpenJDK, che consiglia la migrazione di tutti i repository a Git.
All'interno del documento viene specificato che tutta la cronologia del version control ed i tag verranno preservati durante la migrazione. I messaggi di commit potranno essere adattati in modo da aderire agli standard del formato Git ed i vari tool sfruttati dal team di sviluppo saranno modificati in modo da funzionare anche nel nuovo ecosistema.
La JDK Enhancement Proposal elenca inoltre tre ragioni in particolare per cui sarebbe meglio migrare a Git:
- la dimensione dei version control system metadata;
- la disponibilità dei tool;
- la disponibilità degli hosting.
La differenza più importante tra i due sistemi di SCM sarebbe rappresentata dalla dimensione del formato dei metadata. Mercurial genera dei file fino ad 1.2GB contro i 300MB di Git.
Disporre di file più leggeri permette di ottenere tempi di clonazione del codice più rapidi e meno spazio occupato su disco. Inoltre Git gode di un supporto, tra i vari progetti software, molto più esteso.
Ad esempio tutti gli IDE presenti sul mercato hanno una forma d'integrazione, nativa o tramite plugin, con tale software per il controllo versione, dunque per gli sviluppatori è molto più immediato lavorare con Git rispetto a quanto non lo sarebbe impiegando un altro SCM.
Oracle e la community di OpenJDK dovranno esprimersi su tale proposta nel prossimo futuro e ci sono buone probabilità che Git finisca per sostituire Mercurial.
Via Jaxenter