Il movimento Black Lives Matter, il cui operato ha varcato i confini di ogni nazione, comincia ad avere ripercussioni in alcuni aspetti abbastanza "insospettabili", almeno all'inizio della protesta. Tra questi, c'è anche la comunità che ruota attorno al mondo di Git, ed una delle cose che più è stata critica è l'uso della parola "master" per indicare il repository principale. In effetti, tale parola ha un significato molto pesante, poiché riporta alla mente la grande piaga dello schiavismo.
Sebbene sia ragionevole pensare che buona parte degli sviluppatori non si sia nemmeno accorta di tale vicinanza terminologica, è altrettanto lecito supporre che un numero non indifferente di utenti abbia storto il naso. Ed è per questo motivo che il CEO di GitHub, Nat Friedman, ha confermato l'intenzione di cambiare questa nomenclatura "tradizionale", dando la possibilità a chiunque di rinominare i branch principali.
It's a great idea and we are already working on this! cc @billygriffin22
— Nat Friedman (@natfriedman) June 12, 2020
Cosa è già stato cambiato GitHub?
Il processo di modifica dei nomi dei repository già esistenti è iniziato da un po', ed il team di GitHub si sta impegnando per rendere questo processo di rinomina il più semplice e trasparente possibile.
È stato innanzitutto aggiornato il sito di GitHub, facendo in modo che tutti i link che puntano ad un branch master che è stato rinominato, siano gestiti opportunamente tramite la creazione di redirect automatici verso i nuovi branch. Alcuni aggiornamenti hanno riguardato anche GitHub Pages, permettendo adesso di effettuare build e deploy da qualsiasi branch.
Anche le impostazioni di tutti i repository creati tramite GitHub.com o tramite le API di GitHub sono state aggiornate, permettendo adesso a tutti gli utenti di impostare il nome del branch di default per tutti i nuovi repository.
Cos'altro cambierà su GitHub?
A partire dall'1 Ottobre 2020, tutti i nuovi repository verranno creati impostando come nome del branch principale non più "master", ma "main". Ciò, tuttavia, non modificherà i nomi dei vecchi repository, che però potranno essere rinominati.
È comunque possibile decidere di non applicare questa nuova nomenclatura, specificando ad esempio un nome diverso da "main". Per farlo, gli utenti possono specificare il nuovo nome di default del branch principale tramite questa pagina. Una procedura analoga è disponibile anche per gli amministratori di organizzazioni (https://github.com/organizations/YOUR-ORGANIZATION/settings/repository-defaults
) o aziende enterprise (https://github.com/enterprises/YOUR-ENTERPRISE/settings/member_privileges
).
È importante notare che, ad oggi, esistono tre principali classi di problemi che impediscono un renaming semplice in diversi contesti:
- Le pull request già aperte devono essere reindirizzate al nuovo branch
- I rilasci in bozza devono essere reindirizzati al nuovo branch
- Tutte le policy di protezione del branch devono essere trasferite al nuovo branch
Entro la fine dell'anno, l'obiettivo del team di GitHub è quello di rendere molto più semplice l'operazione di renaming dei branch, automatizzando anche i processi suddetti.
Per maggiori dettagli e aggiornamenti, rimandiamo all'apposita pagina su GitHub con tutte le novità in merito a questo argomento.