Abbiamo ripreso con le chat settimanali con una nuova struttura.
Una volta al mese si farà live coding con spiegazioni, gli altri lunedì invece ci occuperemo di uno spazio di domande e risposte.
La riunione odierna a visto la creazione di due patch per due ticket diversi.
I ticket analizzati sono: https://core.trac.wordpress.org/ticket/34706 e https://core.trac.wordpress.org/ticket/40810
Prima dell’estratto della chat, ci sono state delle domande riguardo la procedura migliore per applicare una patch.
Un riassunto della chat e della procedura di realizzazione della patch utilizzata in entrambi i ticket:
andando su `/var/www/VVV/www/wordpress-develop/public_html` siamo dentro la versione dev di wordpress
diamo un bel `git pull` dal ramo master, per chi non ci si trova un `git checkout master`
in questo modo siamo sicuri che stiamo lavorando all’ultiam versione
il primo passaggio è creare un ramo di sviluppo in git per dormire tranquilli e fare casini quanto ci pare
`git checkout -b 34706`
questo comando crea un nuovo ramo partendo da master e lo chiama col numero del ticket
in questo modo non rischiate di confondervi più in la
ora che siamo pronti prendiamo il nostro editor
il mio consiglio è di usare un editor che supporta editorconfig o uno che utilizzate senza configurazioni particoalri per non cambiare la code style del codice
ci piazziamo a riga 3705
copiamo il codice presentato nel ticket
e lo piazziamo prima di riga 3697 per mantenere la struttura
ovvero prima il filtro specifico del post type e poi quello generico
ci accorgiamo che lo snippet presentato ha una verisone precedente di wordpress, metto la 495 giusto per far vedere che è codice nuovo
salviamo il file
e facciamo un git add e poi un git commit per salvare questa modifica
ora dobbiamo fare la patch
`git diff master 34706 > 34706.diff`
cosa è una patch
si tratta della modifica specifica che può essere applicata al software di riferimento in modo facile
in questo modo abbiamo il file da caricare nel ticket
ora carico la patch nel ticket così potete vedere
https://core.trac.wordpress.org/attachment/ticket/34706/34706.diff
ed ecco la patch
Il secondo ticket con spiegazione:
un ticket che ho testato su un sito in produzione
e che risolve un problema da cron
ripetiamo i passaggi, creiamo un ramo
applichiamo entrambe le patch ai loro file
e ci accorgeremo che le righe non corrispondono più
quindi bisogna usare gli occhi per trovare quelle giuste
una volta fatte le modifiche, cosa dobbiamo fare?
ho generato la patch che ora carico
ma prima proviamo gli unit test
inutile lanciare tutta la suite di tests per una patch di questo tipo
e perché localizzata, anche perché ci mettono diversi minuti
con `phpunit tests/phpunit/tests/mail.php`
lanceremo i tests su quel file specifico
“`Installing…
Running as single site… To run multisite, use -c tests/phpunit/multisite.xml
Not running ajax tests. To execute these, use –group ajax.
Not running ms-files tests. To execute these, use –group ms-files.
Not running external-http tests. To execute these, use –group external-http.
PHPUnit 6.5.5 by Sebastian Bergmann and contributors.
……………… 18 / 18 (100%)
Time: 36.18 seconds, Memory: 22.00MB
“`
e ci dice che va tutto bene
https://core.trac.wordpress.org/attachment/ticket/40810/40810.diff
ecco qui la patch caricata
e fatto un commento
come avete potuto vedere in 4 minuti ho fatto una patch e testata
certo, queste erano cose facili ma ce ne sono molte così
e con poco potete avere il badge sul vostro profilo e venire menzionati nella release in cui sarà presente la patch
e come in questo caso risolvete un vostro problema perché questo errore mi succedeva in un sito
Ci vediamo la settimana prossima per il momento domande e risposte 🙂
Grazie a @francbarberini, @stefano76, @marcochiesi, @cristianozanca per la partecipazione.