Github - لا يوجد شيء للمقارنة

Hello,

I am on 940eb28e31 . And now if i click the commits to view it on Github.

After click it won’t find anything… Is Discourse change branch or what am i missing? I always check the commits before upgrade.

Thank you! :slight_smile:

3 إعجابات

مرحباً،

نحن نواجه نفس المشكلة. هل أتيحت لك فرصة لحلها؟

باستخدام المقارنة من OP (940eb28e…fc61a7c0)، أرى نفس النتيجة. بإضافة حرف واحد آخر من تجزئة الالتزام الثانية (940eb28e…fc61a7c0d)، أحصل على المقارنة الصحيحة.

شكّي هو أن هذا ناتج عن غموض تجزئة الالتزام، أي أن هناك التزامين يبدآن بـ fc61a7c0، لذا فهو لا يعرف أيهما يجب استخدامه. لا أراه في سجل الالتزام ولكنه قد يكون معزولاً.

يبدو أن docker_manager يستخدم git rev-parse --short للحصول على التجزئات لهذا العنوان. من الناحية النظرية، سينتج عن ذلك تجزئات فريدة تبدأ بطول 7 أحرف (افتراضيًا) وتزداد في الطول حسب الضرورة لضمان التفرد. ومع ذلك، يتم تجاهل الالتزامات المعزولة عند السحب، لذا فإن ما يعتقد git أنه فريد في مثيل Discourse قد لا يكون فريدًا على GitHub.

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

5 إعجابات

مرحباً @kinetiksoft، شكراً لرفع هذا الموضوع!
أعتقد أن سيمون على حق. شكراً لك على هذا الشرح المذهل! :slightly_smiling_face: لم أفكر أبداً أن هذه قد تكون المشكلة.

نعم، تم حل المشكلة بالنسبة لي بعد بضعة التزامات.

إعجابَين (2)

مثير للاهتمام جدًا - شكرًا لك على اكتشاف ذلك يا @Simon_Manning

لقد قمت بإنشاء طلب سحب (PR) سيقوم بتحديث docker_manager بحيث يستخدم تجزئة الالتزام الكامل في روابط GitHub:

لا يبدو أن لدينا أي تصادمات بطول 8 أحرف على الفرع main حتى الآن. ولكن لدينا عدد قليل من التصادمات بطول 7 أحرف:

❯ git rev-list --all | cut -c1-7 | sort | uniq -d
27c793a
3483c7b
45a166b
96aca6d
c2e58b6
f73ed45
5 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.