تم بالفعل إصدار بوابة 2.41 وهذه هي أخبارها

جيت 2.41

يطبق Git 2.41 تحسينات في معالجة المستودع

بعد ثلاثة أشهر من التطوير ، فإن إصدار جديد نظام التحكم في المصدر الموزع بوابة 2.41. مقارنة بالإصدار السابق ، تم قبول 542 تغييرًا في الإصدار الجديد الذي تم إعداده بمشاركة 95 مطورًا ، شارك 29 منهم في التطوير لأول مرة.

بالنسبة لأولئك الذين لا يعرفون عن Git ، يجب أن تعرف ذلك هو أحد أكثر أنظمة التحكم في الإصدارات شيوعًابرنامج موثوق به وعالي الأداء يوفر أدوات تطوير غير خطية مرنة تعتمد على التفرع وعمليات اندماج الشوكات.

بوابة 2.41 الميزات الجديدة الرئيسية

في هذا الإصدار الجديد يبرز ذلك تم تحسين التعامل مع الكائنات "غير القابلة للوصول" إلى تلك التي لم تتم الإشارة إليها في المستودع (لا توجد إشارة إلى الفروع أو العلامات). يقوم جامع القمامة بإزالة الكائنات ، لكنها تظل في المستودع لفترة زمنية معينة قبل إزالتها لتجنب ظروف السباق.

لتتبع فترة الأشياء ، يجب إرفاق العلامات بها مع وقت تغيير العناصر المتشابهة ، والذي لا يسمح بتخزينها في ملف حزمة ، حيث يكون لجميع الكائنات وقت تغيير مشترك.

في السابق ، كان يتم تخزين كل كائن في ملف منفصل، والتي تسبب مشاكل إذا كان هناك عدد كبير من الكائنات الجديدة التي لم يتم حذفها بعد. في الإصدار الجديد ، تُستخدم حزم Cruft بشكل افتراضي لحزم الكائنات «لا يمكن الوصول"، والذي يسمح بتخزين جميع العناصر في ملف حزمة ويعكس البيانات المتعلقة بوقت التعديل لكل كائن في جدول منفصل مخزن في ملف بامتداد" .mtimes "ومرتبط بملف فهرس بالملحق" .idx ".

تغيير آخر يبرز في هذا الإصدار الجديد هو ذلك تم تمكين صيانة Revindex على القرص لملفات الحزم. عند اختباره على مستودعات Torvalds / Linux ، تم ذكر استخدام الفهرس العكسي يسمح بتسريع عمليات git push التي تستهلك الكثير من الموارد في 1,49 مرة ، وعمليات بسيطة ، مثل حساب حجم كائن واحد باستخدام "git cat-file –batch = '٪ (objectize: disk) 77 مرة.

تم تضمين الفهرس العكسي في الإصدار الجديد يهدف إلى تبسيط عملية تحديد هوية الكائن من المعلومات حول موقع الكائن في ملف الحزمة. تتلخص عملية بناء فهرس في بناء مجموعة من أزواج "موضع الكائن" وفرزها حسب الموضع ، مما قد يستغرق وقتًا طويلاً لملفات الحزم الكبيرة.

على سبيل المثال ، كانت عملية عرض محتوى الكائنات ، والتي تستخدم فهرسًا مباشرًا ، أسرع 62 مرة من عملية عرض حجم الكائنات ، والتي لم تتم فهرسة بيانات كائن ماتي لها. بعد استخدام الفهرس العكسي ، بدأت هذه العمليات تأخذ نفس الوقت تقريبًا. تتيح لك الفهارس العكسية أيضًا تسريع عملية إرسال الكائن عن طريق تنفيذ أوامر الجلب والإرسال عن طريق النقل المباشر للبيانات المعدة من القرص.

كما تم تسليط الضوء على ذلك في Git 2.41 دعمًا إضافيًا لتمرير رؤوس WWW-Authenticate بين معالج بيانات الاعتماد وخدمة المصادقة إلى بروتوكول "مساعد بيانات الاعتماد" الذي يتم استخدامه لتمرير بيانات الاعتماد عند الوصول إلى المستودعات المقيدة. التوافق باستخدام رأس مصادقة WWW يسمح بتمرير معلمات نطاق OAuth إلى وصول مستخدم منفصل بطريقة أكثر تفصيلاً للمستودعات وتحديد النطاقات المتاحة للطلبات.

من التغييرات الأخرى التي تبرز من الإصدار الجديد:

  • خيار التنسيق المضاف "٪ (متقدمًا: )»في القيادة لكل مرجع ، يسمح لك بالحصول على معلومات فورية حول عدد الالتزامات الموجودة أو المفقودة في فرع معين ، بالنسبة لفرع آخر.
  • خيار مضاف «- البورسلين»في القيادة "git fetch"، الذي يولد الإخراج في التنسيق « »، أقل قابلية للقراءة ، ولكن أكثر ملاءمة لتحليل البرامج النصية.
  • تمت إضافة التكوين "fetch.hideRefs" لتسريع العملياتجلب بوابة»إخفاء جزء من المراجع في المستودع المحلي في مرحلة التحقق من أن الخادم أرسل مجموعة كاملة من العناصر ، مما يوفر الوقت عن طريق قصر الفحص على الخوادم التي يتم استرداد البيانات منها مباشرة.
    الامر "بوابة fsck»تنفذ القدرة على التحقق من وجود تلف ، ومطابقة المجموع الاختباري ، والتحقق من صحة القيمة على الصور النقطية لإمكانية الوصول والمؤشرات العكسية.
  • الامر "استنساخ git - محلي " يظهر الآن خطأ عند محاولة النسخ من مستودع يحتوي على روابط رمزية داخل $ GIT_DIR.

أخيرًا ، إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك الرجوع إلى التفاصيل في الرابط التالي.