வரிகளில் ஏற்பட்ட மாற்றங்களை ஒப்பிடுவது
- முந்தைய மற்றும் பிந்தைய உரைகளை, அல்லது ஏதேனும் இரு பட்டியல்களை ஒட்டவும் அல்லது இறக்குமதி செய்யவும்.
- முழு வரிகளையும் துல்லியமாகப் பொருத்தவும்; தேவையெனில் வரி ஓர இடைவெளிகளைப் புறக்கணிக்கும் விருப்பத்தைத் தேர்ந்தெடுக்கவும்.
- ஒப்பிட்டு, மாற்றங்களை அல்லது அனைத்துப் பதிவுகளையும் ஆராயவும். படிக்கக்கூடிய அறிக்கை, முழு JSON அல்லது எந்த அசல் உரையையும் பதிவிறக்கவும்.
jsdiff-இன் Myers முறை பொருந்திய வரிகளின் வரிசையைத் தக்கவைத்து, தேர்ந்தெடுத்த பொருத்த விதியின் கீழ் சேர்க்கப்பட்ட மற்றும் நீக்கப்பட்ட வரிப் பதிவுகளின் மொத்தத்தைக் குறைக்கிறது. துல்லியப் பொருத்தம், இடைவெளி விதிப்படி பொருத்தம், நீக்கிய வரிகள் மற்றும் சேர்த்த வரிகள் தனித்தனியாகக் காட்டப்படும். மாற்றிய வரி ஒரு நீக்கமாகவும் ஒரு சேர்ப்பாகவும் காட்டப்படும்; இடம் மாறிய வரியும் இவ்வாறு தோன்றலாம். ஒரே வரி பலமுறை இருந்தால், ஒரே குறைந்த எண்ணிக்கையிலான மாற்றங்களைக் கொண்ட பல பொருத்தங்கள் இருக்கலாம்; பயன்படுத்தப்படும் இயந்திரம் ஒரே உள்ளீட்டிற்கு ஒரே பொருத்தத்தைத் தேர்ந்தெடுக்கும். இது வரி ஒப்பீடு மட்டுமே; பொருள், சொல் அல்லது எழுத்து அளவிலான ஒப்பீடு அல்ல. NIST துணைத்தொடர் விளக்கம் (ஆங்கிலம்).
அனைத்துப் பதிவுகளையும் ஒரு பக்கத்திற்கு 20 என்ற முறையில் பார்க்கலாம். தொடக்கத்தில் மாற்றங்கள் மட்டும் காட்டப்படும்; மாறாத வரிகளைப் பார்க்க அனைத்துப் பதிவுகள் என்பதைத் தேர்ந்தெடுக்கவும். ஒவ்வொரு முன்னோட்டமும் 300 குறியீட்டுப் புள்ளிகளுடன் நிறுத்தப்படும்; இது ஒரு கூட்டு எழுத்தின் நடுவில் முடிவடையலாம். மூல வரியைத் தேர்ந்தெடுப்பதும் பதிவிறக்குவதும் முழு உரையைத் தக்கவைக்கும். விருப்ப இடைவெளிக் குறிகள் காட்சிக்கு மட்டுமே; அவை பதிவிறக்கத்தில் சேராது. ஏற்கெனவே உரையில் உள்ள ஒத்த குறிகளுடன் அவை ஒரே மாதிரியாகத் தோன்றலாம். JSON-இல் அனைத்துப் பதிவுகள், இரு பக்க அசல் வரிகள், ஒன்றிலிருந்து தொடங்கும் அசல் வரி எண்கள், எண்ணிக்கைகள், பொருத்த விதி, முழு உள்ளீட்டுப் பொருத்தம் மற்றும் இறுதி வரிப் பிரிப்பான் நிலைகள் இருக்கும். JSON விசைகள் மொழிக்கு ஏற்ப மாறாது. இது ஒப்பீட்டு அறிக்கை; இயக்கக்கூடிய திருத்தக் கோப்பு அல்ல. நிறத்தை மட்டும் சாராமல் ஒவ்வொரு மாற்றத்திற்கும் பெயர் காட்டப்படும்.
இடைவெளிகளும் வரி முடிவுகளும்
துல்லியப் பொருத்தம் முழு வரியையும் ஒப்பிடுகிறது: பெரிய/சிறிய எழுத்து, உச்சரிப்புக் குறிகள், வரிக்குள் உள்ள இடைவெளி மற்றும் அகலமற்ற குறிகள் அனைத்தும் கணக்கில் கொள்ளப்படும். விருப்ப விதி பொருத்துவதற்காக மட்டுமே வரி ஓரங்களில் உள்ள Unicode White_Space குறிகளை நீக்குகிறது. விதிப்படி பொருந்தும் பதிவுகளில் இரு அசல் மதிப்புகளும் தக்கவைக்கப்படும். எழுத்து வடிவ மாற்றம், Unicode சீராக்கம் அல்லது பொருள் ஒற்றுமை தானாகக் கருதப்படாது.
CRLF ஒரே எல்லையாகக் கருதப்படும்; LF, CR, U+0085 NEXT LINE, U+2028 LINE SEPARATOR மற்றும் U+2029 PARAGRAPH SEPARATOR ஆகியவையும் வரிப் பிரிப்பான்களாகும். அவை வரி உள்ளடக்கத்தில் சேராது. இறுதிப் பிரிப்பான் ஒரு பதிவை முடிக்கும்; இல்லாத கூடுதல் வெற்று வரியை உருவாக்காது. உண்மையான வெற்று வரிகளும் ஒப்பிடப்படும். வரிப் பதிவுகளைப் பிரிப்பதற்கு முன், முழு உரைப்பெட்டி மதிப்புகளின் துல்லிய ஒற்றுமை சரிபார்க்கப்படும்; இறுதிப் பிரிப்பான் இருப்பது தனியாகக் காட்டப்படும். எனவே பிரிப்பான்கள் மட்டும் வேறுபட்டால், எல்லா வரிகளும் பொருந்தினாலும் முழு உள்ளீடுகள் ஒரே மாதிரியானவை அல்ல எனக் காட்டலாம்.
இறக்குமதியும் மீட்டெடுப்பும்
ஒவ்வொரு பக்கத்திலும் 400 KB வரையிலான உள்ளூர் UTF-8 TXT கோப்பை இறக்குமதி செய்யலாம்; அதே உரை மற்றும் வரி வரம்புகள் பொருந்தும். தொடக்க BOM நீக்கப்படும்; CRLF/CR, LF ஆக மாற்றப்படும். செல்லாத கோப்பு இரு உரைகளையும் தற்போதைய ஒப்பீட்டையும் மாற்றாது. ஒவ்வொரு இறக்குமதிக்கும் பத்து வினாடி நேர வரம்பும் தனியான ரத்து கட்டுப்பாடும் உண்டு. ஒரு பக்க உரையைத் திருத்தினால் அதன் முடிக்காத வாசிப்பு ரத்தாகும்; மற்ற பக்க இறக்குமதி தொடர்ந்து முடியலாம். பக்கத்தை விட்டு வெளியேறினால் இரு வாசிப்புகளும் நிறுத்தப்படும். தாமதமாக வரும் தரவு புதிய உரைகளை மாற்றாது.
பெரிய உரையை ஒட்டுவது சரிபார்க்கப்பட்ட ஒரே மாற்றமாகச் செயல்படும். இறக்குமதி, எடுத்துக்காட்டு, இடமாற்றம், பெரிய ஒட்டு மற்றும் அழித்தல் ஆகியவற்றிற்கு இரு உரைகளையும் மீட்க ஒரு மீட்டெடுப்பு படி கிடைக்கும். தட்டச்சு செய்வதும் பொருத்த விதியை மாற்றுவதும் அந்த மீட்டெடுப்பை நீக்கும். அழித்தல் பொருத்த விதியையும் காட்சி அமைப்புகளையும் தக்கவைக்கும். இரு உரைகளை இடமாற்றிய பின் மீண்டும் ஒப்பிட்டால் சேர்த்தவை, நீக்கியவை என்ற திசை மாறும்.
வரம்புகளும் தனியுரிமையும்
அசல் TXT பதிவிறக்கம் தற்போதைய உரைப்பெட்டியின் மதிப்பைத் தக்கவைக்கும். உலாவிகள் உரைப்பெட்டியில் CR/CRLF-ஐ LF ஆக மாற்றுவதால் மூல ஒட்டுப் பலகையின் குறியாக்கத்தை மீட்க முடியாது. இது கோப்புகளின் பைட் ஒப்பீடு, இலக்கண மதிப்பீடு, இணைப்பு முரண்பாடு தீர்வு அல்லது கருத்துத் திருட்டு கண்டறிதல் அல்ல. ஒவ்வொரு உள்ளீட்டிற்கும் செல்லுபடியாகும் Unicode, 100,000 UTF-16 அலகுகள் மற்றும் 2,000 வரிப் பதிவுகள் வரை ஆதரவு உண்டு.
செயலாக்கம் உள்ளூர் worker-இல் நடக்கிறது. jsdiff கணக்கீட்டிற்கு ஐந்து வினாடி வரம்பும், உள்ளீட்டு வரிகளின் எண்ணிக்கையிலிருந்து பெறப்படும் மாற்ற வரம்பும் உண்டு. மிகவும் வேறுபட்ட உரைகளுக்கு ஒத்த உரைகளைவிட அதிக நேரம் ஆகலாம். மொத்த செயலாக்கத்திற்கு பத்து வினாடி நேர வரம்பு உண்டு; ரத்து செயலாக்கத்தை நிறுத்தும், திருத்தங்கள் பழைய முடிவை அகற்றும். உரைப் பதிவேற்றம், உரைச் சேமிப்பு, வெளிப்புற API அல்லது இயக்கக்கூடிய HTML இல்லை. செல்லுபடியாகும் UTF-8 பதிவிறக்கங்களுக்காக இணைக்கப்படாத surrogate குறிகள் நிராகரிக்கப்படும்.