Een patch of een patchfile is een computerbestand waarmee een bestaand bestand op een computersysteem door middel van een patch-bewerking bijgewerkt kan worden. Het Engelse zelfstandig naamwoord patch betekent stoplap en het Engelse werkwoord patch betekent oplappen.
diff
en patch
Als eerste toepassing was een patch het resultaat van de uitvoering van het diff
-commando op Unixplatforms. De diff
-bewerking werd toegepast op de twee tekstbestanden file1
en file2
met broncode:
kim@pc ~ $ diff file1 file2 > pfile
Het resultaat van de diff
-operatie is de patch pfile
. In deze patch is het verschil tussen de twee bestanden opgeslagen in de vorm van een aantal regels met tekenreeksen, afgewisseld met regels met compacte instructies voor de ed
-editor. Met het patch
-commando kan uit file1
en pfile
het bestand file2
weer gecreëerd worden:
kim@pc ~ $ patch file1 pfile
Na deze bewerking is de code in file1
gelijk aan de code in file2
. Het is ook mogelijk om de bewerking in omgekeerde richting uit te voeren.
De lengte van de patch is veel kleiner dan de lengte van de afzonderlijke bestanden. Alle verschillende versies van de bestanden kunnen het best opgeslagen worden door slechts één versie van het bestand samen met alle verschillende patches op te slaan. Het is belangrijk om de bestanden en de patches te voorzien van een versienummer en ze te beheren met een versiebeheersysteem.
Toepassingen
Het principe van patchen kan op elk platform en op alle soorten bestanden of directory's toegepast worden. Verzamelingen met binaire bestanden en packages kunnen op deze manier ook beheerd worden. Het werken met patches heeft bovendien grote voordelen als bestanden op één locatie of door één groep beheerd en bewerkt worden, waarna deze bestanden op verschillende andere locaties gebruikt worden.
Door de groep die de file file-0.1
bewerkt, wordt een patch gemaakt zodra een nieuwe versie file-0.2
gereed gekomen is. Vervolgens worden de patches naar andere gebruikers doorgestuurd die met behulp van een package manager hun bestanden kunnen bijwerken. Het dataverkeer en de hoeveelheid werk om de bestanden bij te werken en op te slaan, wordt aanzienlijk gereduceerd door alleen de modificaties door middel van patches te versturen.