Ero sivun ”Diff” versioiden välillä
Siirry navigaatioon
Siirry hakuun
ei muokkausyhteenvetoa
p (siirsi sivun ”Tissit” uudelleenohjauksen ”Diff” päälle: kumoa) |
Ei muokkausyhteenvetoa |
||
(11 välissä olevaa versiota 6 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | |||
'''diff''' on [[komentorivi]]ohjelma, jolla voidaan vertailla kahta eri tiedostoa. Tavallisimpia käyttökohteita on esimerkiksi [[:Luokka:Kehitystyökalut|ohjelmistokehityksessä]] eri versioiden vertailu. Lisäksi diffiä hyödynnetään mm. [[patch|korjauspaketeissa]], [[versionhallintajärjestelmä|versionhallintaohjelmissa]] sekä [[asetustiedostojen perusteet|asetustiedostojen]] ja ylipäätänsä tekstimuotoisten tiedostojen vertailussa. | |||
== Peruskäyttö == | diff perustuu rivien vertailuun, joten se ei sovellu dataan, jossa rivit ovat hyvin pitkiä tai missä rivien järjestys, rivinvaihdot tai rivien sisältö vaihtuu vertailun kannalta mielivaltaisesti. | ||
==Peruskäyttö== | |||
Tehdään aluksi kaksi [[C]]-kielistä tiedostoa, esimerkiksi | Tehdään aluksi kaksi [[C]]-kielistä tiedostoa, esimerkiksi | ||
hello.c | hello.c | ||
<source lang="C"> | |||
#include <stdio.h> | |||
void main() { | |||
printf("Hello word"); | |||
} | |||
</source> | |||
Ja | Ja | ||
hello2.c | hello2.c | ||
<source lang="C"> | |||
#include <stdio.h> | |||
int main() { | |||
printf("Hello world"); | |||
return 0; | |||
} | |||
</source> | |||
Esimerkissä uuteen hello2.c-versioon korjattiin kirjoitusvirhe rivillä 3 ja lisättiin funktio palauttamaan 0. Näitä voitaisiin nyt vertailla komennolla | Esimerkissä uuteen hello2.c-versioon korjattiin kirjoitusvirhe rivillä 3 ja lisättiin funktio palauttamaan 0. Näitä voitaisiin nyt vertailla komennolla | ||
diff hello.c hello2.c | diff hello.c hello2.c | ||
Rivi 27: | Rivi 34: | ||
< tarkoittaa, että rivi poistui ja > tarkoittaa uutta riviä. Tulosteesta nähdään että alkuperäisen tiedoston rivit 2-3 korvaantuivat viivan alla olevilla uusilla riveillä 2-4. | < tarkoittaa, että rivi poistui ja > tarkoittaa uutta riviä. Tulosteesta nähdään että alkuperäisen tiedoston rivit 2-3 korvaantuivat viivan alla olevilla uusilla riveillä 2-4. | ||
Vivulla -u diffin tulosteen saa monipuolisemmaksi ja selkeämmäksi. Esimerkkitapauksessamme <tt>diff hello.c hello2.c | Vivulla -u diffin tulosteen saa monipuolisemmaksi ja selkeämmäksi. Esimerkkitapauksessamme <tt>diff -u hello.c hello2.c</tt> antaisi tulosteen | ||
--- 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 54: | Rivi 61: | ||
} | } | ||
==Hakemistojen vertailu== | |||
== Hakemistojen vertailu == | |||
Diff osaa yksittäisten tiedostojen lisäksi vertailla myös kokonaisia hakemistoja. Tällöin käytetään vipua -r (recursive). Hakemistoja vertaillessa diff käy läpi kaikki hakemistojen tiedostot myös alihakemistoista. | Diff osaa yksittäisten tiedostojen lisäksi vertailla myös kokonaisia hakemistoja. Tällöin käytetään vipua -r (recursive). Hakemistoja vertaillessa diff käy läpi kaikki hakemistojen tiedostot myös alihakemistoista. | ||
== Katso myös == | ==Katso myös== | ||
*[[Patch]] | *[[Patch]] | ||
*[[TkDiff]] on graafinen tiedostojen ja kansioiden vertailuun käytettävä apuohjelma. | |||
*[[Meld]] on graafinen tiedostojen ja kansioiden vertailuun käytettävä apuohjelma. | |||
* | *[[Beyond Compare]] | ||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] | ||
[[Luokka: | [[Luokka:Tiedostojen vertailua]] |