Diff Checker voor tekst
Vergelijk twee teksten of codefragmenten regel voor regel. Toegevoegde, verwijderde en gewijzigde regels worden gemarkeerd, tot op de exacte woorden die verschillen.
Draait in je browserGeen account nodigNiets wordt geüpload
Zo gebruik je de Diff Checker
- Plak de originele tekst links en de gewijzigde tekst rechts, of open twee bestanden.
- De vergelijking wordt bijgewerkt terwijl je typt. Kies de weergave Naast elkaar of Unified.
- Vink Witruimte negeren, Hoofdletters negeren of Lege regels negeren aan om ruis zoals opnieuw ingesprongen code te verbergen.
- Gebruik Ongewijzigd verbergen om je te richten op de wijzigingen, met drie regels context rond elke wijziging.
- Klik op Kopiëren als patch of .diff downloaden voor een standaard unified diff die je kunt toepassen met
git applyofpatch.
Hoe deze diff checker werkt
De tool splitst beide invoeren op in regels en voert het diff-algoritme van Myers uit, hetzelfde O(ND)-algoritme dat git diff en GNU diff gebruiken. Het vindt de kortste reeks invoegingen en verwijderingen die het origineel omzet in de gewijzigde tekst, zodat het resultaat zo weinig mogelijk gewijzigde regels toont. Identieke regels aan het begin en eind worden eerst overgeslagen, waardoor vergelijkingen van bestanden met duizenden regels vrijwel direct klaar zijn.
Staan een verwijderde en een toegevoegde regel naast elkaar, dan worden ze gekoppeld als gewijzigde regel en nogmaals woord voor woord vergeleken. De woorden die echt veranderd zijn krijgen een sterkere markering, zodat een hernoemde variabele of een aangepast getal opvalt in een lange regel.
Naast elkaar vs. unified
Naast elkaar zet het origineel links en de nieuwe versie rechts, met regelnummers voor beide. Dit is de makkelijkste weergave voor het reviewen van lopende tekst, configuratiebestanden en kleine codewijzigingen. De weergave Unified zet verwijderde (-) en toegevoegde (+) regels door elkaar in één kolom, het formaat van code-reviewtools en patchbestanden.
Het unified diff-formaat (patch)
De geëxporteerde patch volgt het formaat van diff -u: een ---/+++-header en daarna hunks die beginnen met @@ -l,s +l,s @@, waarbij l het eerste regelnummer is en s het aantal regels van de hunk in elk bestand. Elke hunk bevat drie regels ongewijzigde context, zodat hij met patch -p0 of git apply kan worden toegepast, ook als regels in de buurt verschoven zijn.
Wanneer gebruik je de negeeropties?
- Witruimte negeren beschouwt regels als gelijk als ze alleen in spaties of tabs verschillen. Gebruik dit na het opnieuw inspringen van code of het omzetten van tabs naar spaties.
- Hoofdletters negeren is handig voor SQL, HTML en logbestanden waarin hoofdletters niet uitmaken.
- Lege regels negeren verbergt regels die alleen als witregel zijn toegevoegd of verwijderd.