Può capitare di lavorare in team ad un sorgente e quando questo viene modificato, è necessario aggiornare gli altri membri della squadra delle modifiche fatte.
Un metodo è quello di passare l’intero sorgente, ma risalta subito un problema: se qualcun altro sta lavorando sullo stesso file, come farà a distinguere le righe aggiunte, modificate o eliminate senza intaccare il proprio lavoro?
Nei sistemi Unix-derivati abbiamo a disposizione `diff` un programma in grado di trovare le differenze tra due file, e ricavare quindi un file patch che permette di individuare facilmente le modifiche.
Per procedere è necessario avere una copia dei file originali e una copia di quelli modificati, quindi eseguire:
$ diff -u file1.orig file1.new >> patch.diff
per ogni coppia di files. Se i sorgenti sono in 2 cartelle separate è possibile fare un diff ricorsivo con questa sintassi:
$ diff -ru dir.orig dir.new >> patch.diff
con l’ultima sintassi si crea un unico file di patch con tutte le differenze tra i sorgenti.
Applicazione di patch
Per maggiori informazioni, consultate le pagine di manuale, scrivendo sul terminale:
$ man diff
Per applicare velocemente una patch è sufficiente usare:
$ patch -p0 test.txt patch.diff
Per maggiori informazioni, consultate le pagine di manuale, scrivendo sul terminale:
$ man patch
Informazioni basilari ma davvero di ottima qualità. Era quello che cercavo!