مقارنة نصين
مقارنة نسختين من نص قصير تعطي سطرًا محذوفًا (1) وسطرًا مضافًا (1) وسطرًا دون تغيير (1). وداخل السطر المتغير تحولت كلمة "brown" وحدها إلى "red".
طريقة الاستخدام
- الصق النص الأصلي في الجهة الأولى والنص المعدّل في الجهة الثانية.
- الأسطر المضافة بالأخضر والمحذوفة بالأحمر، والكلمات التي تغيرت داخل السطر تُبرز بلون أقوى.
- بدّل بين العرض جنبًا إلى جنب والعرض الموحّد. فعّل خيارات تجاهل حالة الأحرف أو المسافات، أو اعرض التغييرات فقط مع قليل من السياق.
- اضغط نسخ الفروق لنسخ العرض الموحّد بالبادئتين - و+.
طريقة الحساب
تعتمد المقارنة على خوارزمية Myers O(ND) (Eugene W. Myers، 1986)، وهي من عائلة الطرق التي يستخدمها diff وgit. تجد أقصر قائمة من إضافات الأسطر وحذفها تحوّل النص الأول إلى الثاني.
عندما تتبع كتلةَ أسطر محذوفة كتلةُ أسطر مضافة، تُقرن الأسطر بالترتيب وتُقارن مرة أخرى كلمةً كلمة، فترى أي الكلمات تغيرت داخل السطر.
خيار تجاهل حالة الأحرف يحوّل الجانبين إلى أحرف صغيرة قبل المقارنة. وخيار تجاهل المسافات يقص أطراف كل سطر ويعامل المسافات المتتالية مسافة واحدة. والنص المعروض هو نصك الأصلي دائمًا.
إذا اختلف النصان لدرجة تتطلب أكثر من 3,000 تعديل، تتوقف الأداة عن البحث عن أقصر قائمة وتعرض الجزء الأوسط المختلف كمحذوف ومضاف، ويظهر تنبيه بذلك.
أسئلة شائعة
ما الفرق بين العرض جنبًا إلى جنب والعرض الموحّد؟
العرض جنبًا إلى جنب يضع الأصل في جهة والنص المعدّل في الجهة الأخرى مع إقران الأسطر المتغيرة. والعرض الموحّد يسرد كل سطر مرة واحدة مع علامة ناقص للمحذوف وزائد للمضاف، كما في ملف patch. وعلى الشاشات الضيقة يُعرض الجانبان فوق بعضهما.
لماذا يظهر السطر المتغير سطرًا محذوفًا وسطرًا مضافًا؟
يُقارن السطر كاملًا. إذا اختلف أي حرف يُعدّ السطر القديم محذوفًا والجديد مضافًا، وتبيّن الكلمات المبرزة موضع الاختلاف داخل السطر.
هل تقارن النصوص العربية واليابانية والصينية؟
نعم. مقارنة الأسطر تعمل مع أي نص، والكلمات العربية المفصولة بمسافات تُبرز كلمةً كلمة. أما سلسلة الحروف بلا مسافات فتُعامل وحدة واحدة، لذا تُبرز الجملة اليابانية أو الصينية المتغيرة قطعةً كاملة لا حرفًا حرفًا.
هل تختلف نهايات الأسطر في Windows وUnix؟
لا. تُعامل النهايات CRLF وLF وCR بالطريقة نفسها، وسطر جديد واحد في آخر النص لا يُحسب سطرًا إضافيًا.
هل يُرفع نصي؟
لا. تجري المقارنة في متصفحك ولا يُرسل شيء إلى أي خادم.