Sviluppo/gerrit/Revisione delle patch
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Dopo aver completato l'impostazione di gerrit e che voi o qualcun altro abbia caricato delle patch, potete iniziare la revisione delle patch su gerrit.
Trovare le patch in attesa di revisione
./logerrit query status:open
vi mostrerà tutte le patch in attesa di revisione. Vedete la documentazione di gerrit per conoscere tutte le belle cose che potete fare in aggiunta (come lo scripting ecc.).
Ottenere una patch
./logerrit cherry-pick CHANGEID
dove CHANGEID è il Change-Id visualizzato dall'output della ricerca su gerrit
Aggiornare una patch
Se durante la revisione avete trovato e risolto un problema. Potete aggiornare la patch esistente in gerrit nel modo seguente:
git status; git diff
ciò assicura che voi avete eseguito solo il singolo commit prescelto e le modifiche aggiuntive sullo stesso
git commit -a --amend
che aggiorna localmente l'ultimo commit
./logerrit submit
che esegue il push di tutte le modifiche di cui non è ancora stato fatto il commited su gerrit; aggiorna la patch esistente in gerrit se l'ID è rimasta la stessa nel messaggio di commit
Commentare ed approvare
Se desiderate aggiungere commenti o approvare la patch, il modo migliore per farlo è dall'interfaccia web di Gerrit. Commentate faccendo clic su di una riga di un file modificato e dopo avere finito fate clic sul link Reply... per pubblicare la vostra revisione.
In alternativa, potete semplicemente effettuare il push della patch, ma ciò non inserirà i bei commenti relativi alla revisione.
Uso del Codice-Revisione
e Verificato
Se osservate la vostra patch su Gerrit vedrete due codici di stato:
- Code-Review
- Verified
I revisori, il sistema CI (jenkins) ed eventualmente voi stessi useranno questi due campi per classificare la patch.
- Codice-Revisione
gli può essere attribuito il valore −2, −1, 0, +1, +2
-2 viene usato dall'autore per segnalare il "lavoro in corso". Il -2 previene che venga eseguito il merge della patch e solamente la persona che ha impostato il -2 può rimuoverlo.
Se state lavorando su di una grossa patch, è apprezzato il caricamento di una patch, contrassegnata con -2, al fine di verificare se viene compilata con successo su tutte le piattaforme
-1 viene usato dai revisori nel caso in cui ci siano delle modifiche da fare alla patch
0 viene usato per segnalare dei commenti che non hanno effetto sull'effettuazione o meno del merge della patch.
+1 viene usato dai revisori per segnalare che la patch va bene, ma che sarebbe opportuno avere anche una seconda opinione
+2 viene usato dall'autore per segnalare che non è necessaria alcuna revisione (questo può essere fatto solamente dai programmatori esperti e dovrebbe essere usato con cautela). La persona che effettuerà il merge della patch, imposterà il +2 un attimo prima del merge, in quanto questo può essere eseguito solo per gli elementi con +2. La possibilità di impostare il +2 dipende dai diritti di push di cui gode il revisore. Questi diritti vengono attribuiti individualmente.
Da notare che NON verrà effettuato il merge di una patch fino a quando ci saranno dei -1 o -2 senza risposta.
- Verificato
gli può essere attribuito il valore -1, 0 o +1
-1 viene usato dal sistema di CI quando la compilazione non va a buon fine (da notare che questo non è sempre dovuto ad un problema della patch, ma può essere dovuto ad un master corrotto).
-1 viene usato dal revisore quando non riesce ad ottenere il risultato desiderato.
0 viene usato per segnalare dei commenti che non hanno effetto sull'effettuazione o meno del merge della patch.
+1 viene usato dal sistema di CI quando la compilazione avviene con successo
+1 viene usato dal revisore quando ha verificato l'ottenimento del risultato desiderato.
Da notare che NON verrà effettuato il merge di patch fino a che il sistema di CI non visualizzi una compilazione effettuata con successo.