كيفية استخدام مقارنة النصوص (Diff)
- الصق النص الأصلي في حقل «النص الأصلي» والنص المعدّل في حقل «النص المعدّل».
- اختر «الأسطر» أو «الكلمات» وأي خيارات تجاهل تريدها.
- اضغط «مقارنة» لعرض العرض الموحّد والجدول جنباً إلى جنب وملف patch.
- نزّل ملف patch لتطبيق التغيير باستخدام git apply.
مزايا مقارنة النصوص (Diff)
- وضع الأسطر مع عرض موحّد وجدول جنباً إلى جنب وملف patch موحّد قابل للتنزيل
- وضع الكلمات مع إبراز الإدراج/الحذف داخل السطر، وهو مناسب للنصوص النثرية
- خيارا تجاهل المسافات البيضاء وتجاهل حالة الأحرف
- نسبة التشابه المئوية وعدد الأسطر المضافة / المحذوفة / غير المتغيرة
- يعالج الملفات الكبيرة بسرعة عبر التقسيم المعتمد على أسطر الارتكاز (anchors) للمدخلات كثيرة التغييرات
- عدد أسطر السياق في ملف patch قابل للضبط
مثال على مقارنة النصوص (Diff)
مقارنة ملفَّي إعدادات
الإدخال:
Left: port: 8080
logging: info
Right: port: 8443
tls: true
logging: warnالنتيجة:
- port: 8080
+ port: 8443
+ tls: true
- logging: info
+ logging: warn
Similarity 40%الأسئلة الشائعة حول مقارنة النصوص (Diff)
ما الخوارزمية المستخدمة؟
خوارزمية Myers O(ND) لأقصر سلسلة تعديلات — وهي العائلة نفسها التي يستخدمها git. تُقسَّم المدخلات الكبيرة جداً أو شديدة الاختلاف عند أسطر ارتكاز فريدة حتى تبقى النتائج سريعة ومقروءة.
هل يمكنني الحصول على ملف patch؟
نعم. ناتج «ملف patch الموحّد» (Unified patch) بصيغة unified diff القياسية (مقاطع --- / +++ / @@) ويمكن تطبيقه باستخدام git apply أو patch -p1.
ما وظيفة خيار «تجاهل المسافات البيضاء» (Ignore whitespace)؟
تُعامل الأسطر التي لا تختلف إلا في المسافات أو علامات الجدولة أو المسافة البادئة على أنها متطابقة. اجمعه مع «تجاهل حالة الأحرف» (Ignore case) للحصول على مقارنة لا تفرّق بين الأحرف الكبيرة والصغيرة.
كيف يختلف وضع الكلمات عن وضع الأسطر؟
يحاذي وضع الكلمات الكلمات المفردة وعلامات الترقيم ويعرض الإدراجات والحذوفات داخل السطر، وهو مثالي للنصوص النثرية والترجمات. أما وضع الأسطر فأفضل للكود وملفات الإعدادات.
هل يوجد حد للحجم؟
يمكن أن يصل حجم كل نص إلى 2 ميغابايت. ويقتصر وضع الكلمات على 400,000 حرف في المجموع لأنه يعمل على مستوى تفصيلي أدق بكثير.
ملاحظات تقنية
تُقارن الأسطر بخوارزمية Myers بعد إزالة البادئة واللاحقة المشتركتين. وعندما تتجاوز مسافة التعديل ميزانية محددة، يبحث المحرك عن الأسطر الفريدة في كلا الجانبين، ويحسب أطول متتالية متزايدة من مواضعها، ثم يكرر العملية بين أسطر الارتكاز تلك — وهي الفكرة نفسها في patience diff — مما يُبقي النتائج مقروءة للمستندات شديدة الاختلاف.