টেক্সট ডিফ চেকার
দুটি টেক্সট বা কোড স্নিপেট লাইন ধরে ধরে তুলনা করুন। যোগ হওয়া, সরানো ও পরিবর্তিত লাইন হাইলাইট হয়, ঠিক কোন শব্দগুলো আলাদা তা পর্যন্ত।
ব্রাউজারেই চলেসাইন-আপ লাগে নাকিছুই আপলোড হয় না
টেক্সট ডিফ চেকার কীভাবে ব্যবহার করবেন
- বাঁ দিকে মূল টেক্সট আর ডান দিকে পরিবর্তিত টেক্সট পেস্ট করুন, অথবা দুটি ফাইল খুলুন।
- টাইপ করার সাথে সাথে তুলনা আপডেট হয়। পাশাপাশি বা Unified ভিউ বেছে নিন।
- নতুন করে ইনডেন্ট করার মতো অপ্রয়োজনীয় পার্থক্য লুকাতে হোয়াইটস্পেস উপেক্ষা, কেস উপেক্ষা বা ফাঁকা লাইন উপেক্ষা টিক দিন।
- প্রতিটি পরিবর্তনের চারপাশে তিন লাইনের প্রেক্ষাপটসহ শুধু পরিবর্তনে মনোযোগ দিতে অপরিবর্তিত লুকান ব্যবহার করুন।
- প্যাচ হিসেবে কপি বা .diff ডাউনলোড ক্লিক করে একটি স্ট্যান্ডার্ড unified diff পান, যা
git applyবাpatchদিয়ে প্রয়োগ করা যায়।
এই ডিফ চেকার কীভাবে কাজ করে
টুলটি দুটি ইনপুটকে লাইনে ভাগ করে Myers difference অ্যালগরিদম চালায়, যা git diff ও GNU diff-এ ব্যবহৃত একই O(ND) অ্যালগরিদম। এটি সন্নিবেশ ও মোছার সবচেয়ে ছোট ক্রম খুঁজে বের করে যা মূল টেক্সটকে পরিবর্তিত টেক্সটে রূপান্তর করে, তাই ফলাফলে যত কম সম্ভব পরিবর্তিত লাইন দেখায়। শুরুর ও শেষের একই লাইনগুলো আগেই বাদ দেওয়া হয়, ফলে হাজার হাজার লাইনের ফাইলের তুলনাও প্রায় তাৎক্ষণিক।
একটি সরানো লাইন ও একটি যোগ হওয়া লাইন পাশাপাশি থাকলে সেগুলো একটি পরিবর্তিত লাইন হিসেবে জোড়া বাঁধে এবং আবার শব্দ ধরে ধরে diff করা হয়। আসলে যে শব্দগুলো বদলেছে সেগুলো আরও গাঢ় হাইলাইট পায়, তাই লম্বা লাইনের ভেতরেও নাম বদলানো ভেরিয়েবল বা সম্পাদিত সংখ্যা চোখে পড়ে।
পাশাপাশি বনাম unified ভিউ
পাশাপাশি ভিউ মূলটি বাঁ দিকে আর নতুন সংস্করণ ডান দিকে রাখে, দুটিরই লাইন নম্বরসহ। লেখা, কনফিগারেশন ফাইল ও ছোট কোড পরিবর্তন রিভিউয়ের জন্য এটি সবচেয়ে সহজ। Unified ভিউ সরানো (-) ও যোগ হওয়া (+) লাইন এক কলামে মিশিয়ে দেখায়, যা কোড রিভিউ টুল ও patch ফাইলের ফরম্যাট।
Unified diff (patch) ফরম্যাট
এক্সপোর্ট করা patch diff -u ফরম্যাট মেনে চলে: একটি ---/+++ হেডার, তারপর @@ -l,s +l,s @@ দিয়ে শুরু হওয়া hunk, যেখানে l প্রথম লাইন নম্বর আর s প্রতিটি ফাইলে hunk-এর লাইনের সংখ্যা। প্রতিটি hunk-এ তিন লাইনের অপরিবর্তিত প্রেক্ষাপট থাকে, তাই কাছাকাছি লাইন সরে গেলেও patch -p0 বা git apply দিয়ে এটি প্রয়োগ করা যায়।
উপেক্ষা অপশন কখন ব্যবহার করবেন
- হোয়াইটস্পেস উপেক্ষা শুধু স্পেস বা ট্যাবে পার্থক্যযুক্ত লাইনকে সমান ধরে। কোড নতুন করে ইনডেন্ট করার বা ট্যাব থেকে স্পেসে যাওয়ার পরে এটি ব্যবহার করুন।
- কেস উপেক্ষা SQL, HTML ও লগ ফাইলের জন্য সুবিধাজনক, যেখানে বড়/ছোট হাতের অক্ষর গুরুত্বপূর্ণ নয়।
- ফাঁকা লাইন উপেক্ষা শুধু ফাঁক রাখার জন্য যোগ বা বাদ দেওয়া লাইনগুলো লুকায়।