Nuovo deploy su VSO, novità per gli utilizzatori di Git

Ieri è stato reso rilasciato il nuovo update su Visual Studio Online, ed in questo deploy abbiamo veramente una grandissima novità, richiesta da quasi tutti quelli che lavorano su Git, la pull request. Si ricorda che questa funzionalità è attualmente in preview, intendendo con questo che deve essere ancora rifinita prima di assumere la forma finale. Nondimeno è già comunque usabile e molto interessante.

Una pull request è una sorta di meccanismo di review che permette di richiedere il reintegro di una branch in un’altra. Mi spiego meglio. Supponiamo di dover sviluppare una parte difficile del codice che tocca il core della nostra applicazione, invece di effettuare un push sulla master o sulla linea principale, con il rischio di creare problemi al team, la sviluppiamo in una branch separata.

Una volta che questa branch è pubblicata essa diviene disponibile a tutto il team e quindi potremmo ad esempio mandare una mail ad un set di persone affinché facciano una revisione del codice di questa branch, e se tutto va bene, reintegrarla con un merge nella branch principale. Questo meccanismo in git viene appunto detto pull request, indicando appunto la richiesta di fare pull della branch con il codice sotto revisione sulla branch padre. Questo meccanismo è molto più evidente in github, dove se io effettuo un fork di un progetto di un altro utente e faccio delle modifiche che ritengo interessanti, posso fare appunto una pull request, richiedendo che le mie modifiche vengano appunto incluse nella linea principale.

Vediamo come tutto questo viene fatto in VSO.

Come potete vedere è ora disponibile appunto una nuova area nell’Hub CODE chiamata appunto Pull Requests dove ad potete ad esempio richiedere che i cambiamenti effettuati nella branch Dev vengano sottoposti a revisione per essere reintegrati nella branch master.

Potete a questo punto visualizzare una descrizione che contiene i commenti dei commit di dev che non sono ancora reintegrati in master, e si possono aggiungere i vari revisori che dovranno validare il codice di dev. A questo punto VSO permette di gestire una discussione centralizzata sulla revisione, ma la parte più interessante è che vengono già fatti dei test, ad esempio per capire se il merge genererà o meno conflitti.

Come si può vedere in questo caso VSO indica che non è possibile effettuare una merge automatica, perché sono presenti conflitti. In questo caso la merge dovrà essere effettuata localmente con gli strumenti standard, ma il vantaggio della Pull Request è l’avere questa discussione di revisione del codice condivisa per tutto il team.

Gian Maria.

Comments are closed.