Share to:

Diff

Screenshot af brug af diff

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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya