4 175
muokkausta
p (fix) |
p (kh, muotoilua) |
||
Rivi 1: | Rivi 1: | ||
Patch on [[:Luokka:Kehitystyökalut|ohjelmistokehityksessä]] käytetty työkalu, jolla voidaan päivittää tiedosto uuteen versioon jos saatavilla on uuden ja vanhan version | Patch on [[:Luokka:Kehitystyökalut|ohjelmistokehityksessä]] käytetty työkalu, jolla voidaan päivittää tiedosto uuteen versioon jos saatavilla on uuden ja vanhan version erot sisältävä [[diff]]-tiedosto. | ||
== Käyttö == | == Käyttö == | ||
Esimerkiksi [[diff]]-artikkelissa mainitussa esimerkissä meillä on seuraavanlainen hello.c-tiedosto: | Esimerkiksi [[diff]]-artikkelissa mainitussa esimerkissä meillä on seuraavanlainen <tt>hello.c</tt>-tiedosto: | ||
#include <stdio.h> | #include <stdio.h> | ||
void main() { | void main() { | ||
printf("Hello word"); | printf("Hello word"); | ||
} | } | ||
Lisäksi sitä on vertailtu tiedostoon hello2.c komennolla diff -u hello.c hello2.c > hello1to2.diff ja saatu seuraavanlainen sisältö tiedostoon hello1to2.diff: | Lisäksi sitä on vertailtu tiedostoon <tt>hello2.c</tt> komennolla <tt>diff -u hello.c hello2.c > hello1to2.diff</tt> ja saatu seuraavanlainen sisältö tiedostoon <tt>hello1to2.diff</tt>: | ||
--- hello.c 2006-04-07 10:05:08.000000000 +0000 | --- hello.c 2006-04-07 10:05:08.000000000 +0000 | ||
+++ hello2.c 2006-04-07 10:12:47.000000000 +0000 | +++ hello2.c 2006-04-07 10:12:47.000000000 +0000 | ||
Rivi 18: | Rivi 18: | ||
+ return 0; | + return 0; | ||
} | } | ||
Kun nämä tiedostot nyt ovat samassa hakemistossa, voidaan hello.c ''patchata'' uuteen 2-versioon yksinkertaisesti patchilla: | Kun nämä tiedostot nyt ovat samassa hakemistossa, voidaan <tt>hello.c</tt> ''patchata'' uuteen 2-versioon yksinkertaisesti patchilla: | ||
patch -p0 < hello1to2.diff | patch -p0 < hello1to2.diff | ||
Jonka jälkeen hello.c:n sisältö olisi seuraava: | Jonka jälkeen <tt>hello.c</tt>:n sisältö olisi seuraava: | ||
#include <stdio.h> | #include <stdio.h> | ||
int main() { | int main() { | ||
Rivi 26: | Rivi 26: | ||
return 0; | return 0; | ||
} | } | ||
Aivan kuten sen kuuluukin olla. Komennossa valitsin -p0 kertoo diffille, että patchattavat tiedostot (tai tässä tapauksessa yksi tiedosto) | Aivan kuten sen kuuluukin olla. Komennossa valitsin -p0 kertoo diffille, että ''patchattavat'' tiedostot (tai tässä tapauksessa yksi tiedosto) ovat samassa hakemistossa kuin patch-tiedosto. Jos patchissa viitattaisiin joissain hakemistoissa oleviin tiedostoihin, esimerkiksi tiedostoon hello/hello.c, voisimme käskeä patchia jättämään yhden hakemistoista huomiotta vivulla -p1. Tämä on hyödyllinen etenkin jos hakemistojen nimet muuttuvat. | ||
Huomaa myös, että patch ei lue patch-tiedoston sisältöä, vaan se välitetään sille syötteenä <-[[Komentorivin perusteet|ohjausmerkin]] avulla. | Huomaa myös, että patch ei lue patch-tiedoston sisältöä, vaan se välitetään sille syötteenä <-[[Komentorivin perusteet|ohjausmerkin]] avulla. |