Text Diff Checker

Ikumpara ang dalawang text o code snippet linya por linya. Naka-highlight ang mga idinagdag, inalis at binagong linya, hanggang sa eksaktong mga salitang nagkaiba.

Tumatakbo sa browser moWalang sign-upWalang ina-upload

Mag-paste ng text sa dalawang box para makita ang mga pagkakaiba.

Paano gamitin ang Text Diff Checker

  1. I-paste ang orihinal na text sa kaliwa at ang binagong text sa kanan, o magbukas ng dalawang file.
  2. Nag-a-update ang paghahambing habang nagta-type ka. Piliin ang Magkatabi o Unified na view.
  3. I-tick ang Huwag pansinin ang whitespace, Huwag pansinin ang case o Huwag pansinin ang blangkong linya para itago ang ingay gaya ng re-indentation.
  4. Gamitin ang Itago ang hindi nagbago para tumutok sa mga pagbabago na may tatlong linya ng context sa paligid ng bawat isa.
  5. I-click ang Kopyahin bilang patch o I-download ang .diff para makakuha ng standard na unified diff na puwedeng i-apply gamit ang git apply o patch.

Paano gumagana ang diff checker na ito

Hinahati ng tool ang dalawang input sa mga linya at pinapatakbo ang Myers difference algorithm, ang parehong O(ND) algorithm na ginagamit ng git diff at GNU diff. Hinahanap nito ang pinakamaikling serye ng insertion at deletion na nagpapabago sa orihinal tungo sa binagong text, kaya pinakakaunting binagong linya ang ipinapakita ng resulta. Nilalaktawan muna ang magkaparehong linya sa simula at dulo, kaya halos agad-agad ang paghahambing kahit sa mga file na may libu-libong linya.

Kapag magkatabi ang isang inalis na linya at isang idinagdag na linya, ipinapares ang mga ito bilang binagong linya at dine-diff muli salita por salita. Mas matingkad ang highlight sa mga salitang talagang nagbago, kaya kitang-kita ang pinalitang pangalan ng variable o binagong number sa loob ng mahabang linya.

Side-by-side vs. unified na view

Inilalagay ng Magkatabi ang orihinal sa kaliwa at ang bagong bersyon sa kanan, na may line number para sa dalawa. Ito ang pinakamadaling view para mag-review ng prosa, config file at maiikling pagbabago sa code. Pinagsasalit-salit naman ng Unified na view ang mga inalis (-) at idinagdag (+) na linya sa iisang column, ang format na ginagamit ng mga code review tool at patch file.

Unified diff (patch) na format

Sinusunod ng na-export na patch ang format ng diff -u: isang ---/+++ na header, saka mga hunk na nagsisimula sa @@ -l,s +l,s @@, kung saan ang l ang unang line number at ang s ang bilang ng linya ng hunk sa bawat file. May tatlong linya ng hindi nagbagong context ang bawat hunk, kaya puwede itong i-apply gamit ang patch -p0 o git apply kahit lumipat ang mga katabing linya.

Kailan gagamitin ang mga ignore option

  • Huwag pansinin ang whitespace: itinuturing na magkapareho ang mga linyang nagkakaiba lang sa space o tab. Gamitin ito pagkatapos mag-re-indent ng code o magpalit ng tab sa space.
  • Huwag pansinin ang case: kapaki-pakinabang para sa SQL, HTML at log file kung saan hindi mahalaga ang malaki o maliit na titik.
  • Huwag pansinin ang blangkong linya: itinatago ang mga linyang idinagdag o inalis bilang espasyo lang.

Mga madalas itanong

Ina-upload ba kahit saan ang text ko?
Hindi. Buong tumatakbo sa iyong browser ang paghahambing gamit ang JavaScript. Walang ipinapadala sa server sa anumang i-paste mo, kaya ligtas mong maikukumpara ang pribadong code, kontrata o config file.
Gaano kalaki ang puwedeng text?
Naikukumpara nang wala pang isang segundo ang mga file na may sampu-sampung libong linya sa karaniwang laptop. Dahil lumalaki ang gastos ng algorithm kasabay ng bilang ng pagkakaiba, pinakamatagal ang dalawang napakalaki at ganap na magkaibang file.
Puwede ba akong magkumpara ng dalawang file sa halip na mag-paste?
Oo. Gamitin ang mga button na Magbukas ng file sa itaas ng bawat box para mag-load ng lokal na file. Binabasa ng iyong browser ang file at hindi ito kailanman ina-upload.
Bakit ipinapakitang inalis at idinagdag ang isang linya sa halip na binago?
Ipinapares lang bilang “binago” ang mga linya kapag direktang magkatabi ang isang block ng inalis na linya at isang block ng idinagdag na linya. Kung kakaunti lang ang magkaparehong text ng dalawang linya, nilalaktawan ang word-level highlight dahil mas magulo ito kaysa ipakitang binago ang buong linya.
Paano ikumpara ang mga JSON object?
Gamitin ang tool na JSON Diff. Kinukumpara nito ang na-parse na istruktura, kaya hindi lumilikha ng maling pagkakaiba ang ayos ng key at formatting, at inililista nito ang eksaktong mga path na nagbago.

Mga kaugnay na tool