عن المشروع
go-whatchanged هي أداة سطر أوامر لفحص ما تغيّر في واجهة برمجة التطبيقات العامة لوحدة Go بين نسختين. تقارن بين جانب أساسي وجانب رئيسي، حيث يمكن أن يكون كل جانب شجرة عمل، أو نسخة محلية مستخرجة، أو مراجعة git، أو فرعاً، أو وسمًا، أو إصدار وحدة منشور مثل github.com/x/m@v1.2.0. صُمم المسار الافتراضي ليكون للقراءة فقط: فهو يتجنب الأدلة المؤقتة، وعمليات استنساخ git، وأشجار العمل، والكتابة إلى المستودع، مستخدمًا أوامر go فقط عندما لا تكون الحزم البعيدة مخزنة مؤقتًا بالفعل. تعطّل راية --fsreadonly حتى مسار تنزيل ذاكرة الوحدة المؤقتة لتحقيق تشغيل غير كاتب بالكامل.
تبلّغ الأداة عن الرموز المصدّرة المضافة والمحذوفة والمتغيّرة لكل حزمة، وتلخّص التغييرات المتوافقة مقابل غير المتوافقة. كما تقترح رفع الإصدار الدلالي المطلوب، مثل MAJOR أو MINOR أو PATCH، ويمكنها فرض بوابات التوافق باستخدام رموز الخروج عبر --exit-fail=major أو minor أو patch. تسمح المرشحات بتضييق المخرجات إلى التغييرات الكاسرة، أو الحزم العامة، أو الحزم الداخلية، أو الحزم الرئيسية، أو تغييرات الاستيراد، أو تغييرات go.mod، أو تغييرات الاختبار. وتُدعم أنماط تضمين واستبعاد الحزم للوحدات الكبيرة والمستودعات الأحادية.
للتكامل في سير العمل، يدعم go-whatchanged صيغ الإخراج النصية وMarkdown وJSON. صيغة Markdown مخصصة لتعليقات طلبات السحب وملخصات المهام، بينما صيغة JSON مخصصة للسكربتات والروبوتات. يتوفر إجراء GitHub لنشر فروقات واجهة برمجة التطبيقات كتعليقات على طلبات السحب وملخصات للمهام. يوثّق README قيودًا تشمل منصة واحدة لكل تشغيل، وعدم دعم go.work/vendor/GOPATH، وعدم القدرة على إجراء فرق للوحدات التي تعلن go 1.16 أو أقدم، ومقارنة الوحدة الرئيسية فقط بدلًا من التبعيات.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.