Diff

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

Computerprogrammet diff er et UNIX-program, som bruges til at finde forskelle i filer. Hvis filerne ikke er i tekstformat, kan diff kun afgøre om filerne er forskellige. Hvis de der i mod indeholder tekst, kan diff vise forskellene i forskellige formater.

Standardformatet for diff indeholder de linjer, der skal fjernes med foranstillet < og de linjer, der skal tilføjers med foranstillet >. Desuden er der angivelse af, hvor linjerne skal tilføjes. Eksempel:

3c3
< Svaret er 43.
---
> Svaret er 42.
6c6
< Denne linje skal rettes.
---
> Denne linje skal ikke rettes.
8d7
< Denne linje skal slettes.

I den mere læsevenlige context-diff medtages nogle af de omkringsliggende linjer. Rettelser vises med !, tilføjelser med + og sletninger med -. Eksempel:

*** fil1.txt       2006-03-01 22:18:56.000000000 +0100
--- fil2.txt    2006-03-01 22:17:50.000000000 +0100
***************
*** 1,9 ****
  Her er en fil,
  der skal opdateres.
! Svaret er 43.
  Her kommer en blank linje.
 
! Denne linje skal rettes.
  Dette er fyld.
- Denne linje skal slettes.
  Dette er slutningen.
--- 1,8 ----
  Her er en fil,
  der skal opdateres.
! Svaret er 42.
  Her kommer en blank linje.
 
! Denne linje skal ikke rettes.
  Dette er fyld.
  Dette er slutningen.

Hvis der skal distribueres forskelle i mange filer, kan de bindes sammen i formatet "unified diff". Med samme filer som i det foregående ser det sådan ud:

--- fil1.txt       2006-03-01 22:18:56.000000000 +0100
+++ fil2.txt    2006-03-01 22:17:50.000000000 +0100
@@ -1,9 +1,8 @@
 Her er en fil,
 der skal opdateres.
-Svaret er 43.
+Svaret er 42.
 Her kommer en blank linje.

-Denne linje skal rettes.
+Denne linje skal ikke rettes.
 Dette er fyld.
-Denne linje skal slettes.
 Dette er slutningen.

Programmet kan også vise forskellene i et format, der kan bruges som input til ed, men dette format indeholder ikke nok information til at man kan "gå baglæns" og i eksemplet finde fil1.txt ud fra fil2.txt.

En fil, der indeholder output fra diff, kaldes en patch. Opdateringen af filerne klares med programmet patch. Versionsstyringssystemet CVS bruger diff til at vise forskelle mellem versioner af en fil.

Questions for article: c-diff, mackenzie et al. binary files and forcing text comparison in comparing and merging files with gnu diff and patch. downloaded 28 april 2007, cbc with diff, mackenzie et al. binary files and forcing text comparison in comparing and merging files with gnu diff and patch. downloaded 28 april 2007, cbc with diff

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net