أدلة diff
شرح لكيفية عمل مقارنة النصوص، وكيف تقرأ النتيجة، ومتى تستخدم كل خيار.
كيف يجد diff الفروق؟ — LCS وخوارزمية مايرز
شرح مبسّط لمبدأ عمل diff في إيجاد الفروق بين نصين: أطول متتالية جزئية مشتركة (LCS)، ونص التحرير، وخوارزمية مايرز O(ND)، والمقارنة على مستوى السطر والكلمة.
02 · guide/diff-algorithmsMyers وPatience وHistogram — مقارنة خوارزميات diff
كيف يعمل كل خيار من خيارات --diff-algorithm في git diff (myers وminimal وpatience وhistogram)، ولماذا تختلف نتائجها، مع أمثلة.
03 · guide/read-unified-diffكيف تقرأ unified diff (patch) — دليل لمراجعة الكود
نقرأ بالأمثلة، واحدًا تلو الآخر، ترويسات --- و+++، والأرقام في ترويسة الكتلة @@، وأسطر السياق، وعلامة No newline at end of file، وترويسات diff --git الموسّعة.
04 · guide/whitespace-optionsالفرق بين خيارات تجاهل المسافات — diff -b و-w و-B و-Z وما يقابلها في git
مقارنة بالأمثلة لخيارات GNU diff وgit توضح الفرق الدقيق بين تجاهل المسافات في نهاية السطر، وتجاهل عدد المسافات (-b)، وتجاهل كل المسافات (-w)، وتجاهل الأسطر الفارغة (-B)، وتجاهل حالة الأحرف.
05 · guide/compare-documentsتدقيق المستندات ومقارنة العقود — كيف تجد كل الفروق بين نسختين
خطوات وحيل لمقارنة المسودة بالنسخة المعدلة، والعقد المرسل بالعقد المُعاد، نصيًا: المقارنة على مستوى المقاطع والأحرف، وتنظيف فواصل الأسطر في PDF، وقائمة تحقق لمراجعة العقود.
06 · guide/json-diffكيف تقارن JSON — ترتيب المفاتيح والتوحيد
كيف تتخلص من الفروق الزائفة الناتجة عن ترتيب المفاتيح والمسافات البادئة وطريقة كتابة الأرقام عند مقارنة ملفي JSON، مع شرح ترتيب المصفوفات والأعداد الصحيحة الكبيرة والفرق عن JSON Patch.
07 · guide/line-endingsحروف نهاية السطر (CRLF وLF) والفروق غير المرئية — عندما تظهر كل الأسطر متغيرة
أسباب ظهور كل الأسطر مختلفة في diff مع أن الملفين متطابقان بالعين: فواصل الأسطر CRLF وLF، والسطر الجديد في نهاية الملف، وBOM، وعلامات الجدولة والمسافات، والمسافات الخاصة، وتوحيد يونيكود، وطرق الحل.