قراءة التغييرات

الفرق الدلالي

إعادة تسمية خالصة تظهر في فرق الأسطر كملف كامل مُحذوف وملف كامل مُضاف. وهذا صحيح تقنيًا وعديم الفائدة تمامًا.

فوق فرق كل ملف، يعرض Gitcito شريط ما الذي تغيّر: تُحلَّل نسختا الملف بأداة tree-sitter — أشجار نحوية حقيقية، لا تعابير نمطية — ثم تُطابَق تصريحاتهما.

شريط ما الذي تغيّر: إعادات التسمية وتغيّرات التوقيع، رمزًا رمزًا

الحكم مثال
أُعيدت تسميته startServer ← bootServer
توقيع open(path) ← open(path, mode)
مُضاف / مُزال دالة جديدة؛ ودالة محذوفة
مُنقول الشيفرة نفسها، أسفل بأربعين سطرًا
متغيّر الاسم نفسه والتوقيع نفسه، ومتن مختلف

وتُرتَّب إعادات التسمية وتغيّرات التوقيع أولًا — فهي ما لا يجوز أن يفوت المراجع. اضغط صفًا لتقفز إلى ذلك الرمز داخل الفرق.

ما يستطيع تحليله

TypeScript، وTSX، وJavaScript، وPython، وGo، وRust، وJava، وC، وC++، وC#، وRuby، وPHP، وSwift، وKotlin، وScala، وLua، وBash، وZig.

والملف الذي لا قواعد نحوية للغته يحتفظ ببساطة بفرق أسطره المعتاد — ولا يظهر الشريط أصلًا. والأمر نفسه للملفات التي تتجاوز 400 كيلوبايت.

حدود صريحة

  • إعادة التسمية التي تغيّر متنها أيضًا يُبلَّغ عنها كإعادة تسمية وتقول ذلك.
  • ودالّتان من سطر واحد تصادف أنهما تتشابهان لا تُقرَنان: فتحت عتبة حجم معينة يجب أن يكون التطابق شبه تام، فتحصل على «مُزال + مُضاف» نظيف بدلًا من إعادة تسمية متخيَّلة.
  • والرموز التي تنزاح بضعة أسطر فقط لأن شيئًا فوقها كبر لا يُبلَّغ عنها كـ «منقولة» — فذلك سيدفن عمليات النقل الحقيقية.

انظر أيضًا: عارض الفروق · ما الذي تغيّر منذ

حسّن هذه الترجمة على GitHub