Ero sivun ”Patch” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
<syntaxhighlight>
Pb (keskustelu | muokkaukset) |
p (<syntaxhighlight>) |
||
(6 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | |||
{{Ohjelma | |||
| nimi=GNU patch | |||
| kuva= | |||
| kuvateksti= | |||
| lisenssi=[[GPLv3+]] | |||
| käyttöliittymä=teksti | |||
| kotisivu=[https://savannah.gnu.org/projects/patch/ savannah.gnu.org/projects/patch] | |||
}} | |||
== Käyttö == | '''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ö== | |||
Esimerkiksi [[diff]]-artikkelissa mainitussa esimerkissä meillä on seuraavanlainen <tt>hello.c</tt>-tiedosto: | Esimerkiksi [[diff]]-artikkelissa mainitussa esimerkissä meillä on seuraavanlainen <tt>hello.c</tt>-tiedosto: | ||
<syntaxhighlight lang="C"> | |||
#include <stdio.h> | |||
void main() { | |||
printf("Hello word"); | |||
} | |||
</syntaxhighlight> | |||
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>: | 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 | ||
Rivi 21: | Rivi 33: | ||
patch -p0 < hello1to2.diff | patch -p0 < hello1to2.diff | ||
Jonka jälkeen <tt>hello.c</tt>:n sisältö olisi seuraava: | Jonka jälkeen <tt>hello.c</tt>:n sisältö olisi seuraava: | ||
<syntaxhighlight lang="C"> | |||
#include <stdio.h> | |||
int main() { | |||
printf("Hello world"); | |||
return 0; | |||
} | |||
</syntaxhighlight> | |||
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. | 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. | ||
== Katso myös == | ==Katso myös== | ||
*[[ | *[[diff]] | ||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] | ||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] |