نسخت نتيجة المقارنة فظهرت أسطر تبدأ بالرموز @@ و+ و-، كيف أقرؤها؟
هذه صيغة قياسية اسمها unified diff: السطر الذي يبدأ بعلامة الناقص موجود في النص الأصلي فقط، والذي يبدأ بعلامة الزائد موجود في النص المعدّل فقط، والذي يبدأ بمسافة لم يتغير ويُعرض للسياق، وسطر @@ يحدد أرقام الأسطر التي يغطيها المقطع في النسختين. بعد دقيقة من الشرح تستطيع قراءتها وإرسالها لأي زميل.
مثال قصير
قارنّا قائمة أسعار من ثلاثة أسطر: «قهوة 50» و«شاي 20» و«تمر 35»، بنسخة تغيّر فيها سعر القهوة إلى 55. النتيجة النصية التي تنسخها أو تنزّلها تكون هكذا، سطرًا بعد سطر:
- سطران للعنوان: «--- original» ثم «+++ changed». الأول يرمز للنص الأصلي والثاني للمعدّل.
- سطر المواضع: «@@ -1,3 +1,3 @@».
- «-قهوة 50»: السطر كما كان في الأصل.
- «+قهوة 55»: السطر كما صار في المعدّل.
- « شاي 20» و« تمر 35» بمسافة في أولهما: أسطر سياق لم تتغير.
فك سطر @@
في «@@ -1,3 +1,3 @@» الجزء الذي بعد علامة الناقص يخص الأصل: يبدأ المقطع من السطر 1 ويغطي 3 أسطر. والجزء الذي بعد علامة الزائد يخص المعدّل: يبدأ من السطر 1 ويغطي 3 أسطر أيضًا. لو كان التعديل إضافة سطر جديد لصار العدد الثاني أكبر من الأول.
في القوائم الطويلة لا تُطبع كل الأسطر. تُطبع الفروق ومعها حتى 3 أسطر سياق قبل كل فرق وبعده، وتنقسم النتيجة إلى عدة مقاطع لكل منها سطر @@ خاص.
قائمة من 12 صنفًا تغيّر فيها السطر الأول (قهوة من 50 إلى 55) والسطر الأخير (ملح من 3 إلى 4).
الملخص: مضاف 2، محذوف 2، منها معدّلة 2، بلا تغيير 10.
النتيجة النصية فيها مقطعان: «@@ -1,4 +1,4 @@» يبدأ بتعديل القهوة ثم ثلاثة أسطر سياق، و«@@ -9,4 +9,4 @@» فيه ثلاثة أسطر سياق ثم تعديل الملح. الأسطر من 5 إلى 8 لا تظهر لأنها بعيدة عن أي فرق.
لماذا تظهر العلامات في أقصى اليسار مع النص العربي؟
مربع النتيجة النصية مثبّت من اليسار إلى اليمين عمدًا، حتى تبقى العلامات في العمود الأول دائمًا كما تتوقعها البرامج. لذلك قد تبدو الأسطر العربية فيه غريبة قليلًا، لكن الملف نفسه صحيح. العرض الملوّن فوقه يُظهر كل سطر باتجاهه.
وفي مقارنة الكلمات أو الحروف؟
الصيغة مختلفة: لا توجد أسطر @@، بل النص المعدّل كاملًا وفي داخله المحذوف بين [- و-] والمضاف بين {+ و+}. مثلًا حين تقارن «توصيل خلال 3 أيام» مع «توصيل خلال يومين» على مستوى الكلمات تحصل على: توصيل خلال [-3 أيام-]{+يومين+}.
نصائح قبل الإرسال
- إن كان زميلك مطوّرًا فأرسل ملف text-diff.txt كما هو، فبرامج إدارة الإصدارات تفهم هذه الصيغة.
- إن كان غير تقني، فصورة من العرض الملوّن أوضح له، أو استخدم مقارنة الكلمات ليرى النص كاملًا.
- زر التنزيل يحفظ كل الفروق حتى لو لم يظهر إلا جزء منها على الشاشة.
كل ما سبق تنتجه مقارنة النصوص داخل متصفحك، دون رفع النصين.
أسئلة شائعة
لماذا النتيجة فارغة؟
لأن النصين متطابقان بالإعدادات المختارة، فلا توجد فروق لكتابتها أو تنزيلها.
هل تتغير كلمتا original وchanged؟
لا، هما اسمان ثابتان للنسختين في رأس الملف.
كم سطر سياق يظهر؟
حتى 3 أسطر قبل كل فرق وبعده، وتندمج المقاطع المتقاربة في مقطع واحد.
