Lumaktaw sa pangunahing nilalaman

Libreng Text Diff

Ikumpara ang dalawang bloke ng teksto at tingnan kung ano mismo ang nagbago. Line-by-line na diff na may mga idinagdag, inalis, at hindi nagbagong linya.

Gumagana offline kapag na-load na
Konteksto:
+3 idinagdagβˆ’2 inalis2 walang pagbabago
Diff
+The quick brown fox leaps over the lazy dog.
βˆ’The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.
+How amazingly quick daft zebras jump!
βˆ’How vexingly quick daft zebras jump!
The five boxing wizards jump quickly.
+Now is the time for all good men.

Mga karaniwang gamit

  • Ihambing ang Code SnippetsMahanap kung eksaktong ano ang nagbago sa pagitan ng dalawang versions ng isang code snippet, config, o script.
  • Ihambing ang Document DraftsMahanap ang bawat pagbabago sa pagitan ng dalawang drafts ng isang document, contract, o article β€” line by line.
  • Ihambing ang Data at CSV FilesMahanap ang differences sa pagitan ng dalawang versions ng exported data, CSVs, logs, o configuration.
  • Ihambing ang Translation VersionsTingnan kung ano ang nagbago sa pagitan ng dalawang versions ng translated document, subtitle file, o localisation string.
  • Subaybayan ang Changes sa Content RevisionsIhambing ang original at edited versions ng isang artikel, blog post, o marketing copy upang suriin kung ano ang nagbago.

Paano ito Gumagana

Gumagamit ang Text Diff ng hand-written na Longest Common Subsequence (LCS) algorithm na direktang ipinatupad sa tool na ito β€” walang panlabas na diff library. Tumatakbo ang lahat sa browser; hindi kailanman ipinapadala sa server ang text mo.

  1. 1
    Hinahati ang text sa mga linya
    Hinahati ang laman ng bawat textarea sa mga newline character sa isang array ng mga linya. Ina-apply ang opsyonal na normalisation (paggawang lowercase, pagsasama ng whitespace) sa kopya ng mga array na iyon bago ikumpara, habang itinatago ang mga orihinal para sa pagpapakita.
  2. 2
    Kinakalkula ang LCS table sa isang Uint32Array
    Binubuo ang isang bottom-up na dynamic-programming table sa isang typed na Uint32Array β€” O(mΓ—n) sa oras at memory. Para sa mga input na lalampas sa 4 milyon ang kabuuang bilang ng cell (mga 16 MB), awtomatikong lumilipat ang algorithm sa mas magaspang na block diff para manatiling responsive ang pahina.
  3. 3
    Pag-highlight ng salita sa mga nabagong linya
    Kapag agad sinundan ng naisingit na linya ang isang binurang linya, tumatakbo ang ikalawang LCS pass sa mga tino-tokenize na salita ng pares na iyon (hinati sa whitespace). Gumagawa ito ng mga inline na naka-highlight na segment na nagpapakita kung aling mga salita mismo ang nagbago sa loob ng linya, hindi lang kung aling mga linya ang nagbago.
  4. 4
    Unified-diff na view na may pag-collapse ng konteksto
    Nire-render ang ops list bilang unified diff na may +/βˆ’ na prefix at color coding. Kino-collapse sa likod ng ellipsis ang mga hindi nabagong linya sa labas ng naaayos na context window (default: 3 linya). Puwedeng kopyahin sa clipboard ang buong resulta o i-download bilang plain-text na .txt file.

Mga Kaugnay na Tool

Mga Madalas na Itanong