Github - Il n'y a rien à comparer

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 « J'aime »

Salut,

Nous rencontrons le même problème. Avez-vous eu l’occasion de le résoudre ?

En utilisant la comparaison de l’OP (940eb28e…fc61a7c0), je vois le même résultat. En ajoutant un caractère de plus au hash du deuxième commit (940eb28e…fc61a7c0d), j’obtiens la comparaison correcte.

Mon hypothèse est que cela est causé par l’ambiguïté du hash de commit, c’est-à-dire qu’il existe deux commits qui commencent tous deux par fc61a7c0, donc il ne sait pas lequel utiliser. Je ne le vois pas dans l’historique des commits, mais il pourrait être orphelin.

Il semble que docker_manager utilise git rev-parse --short pour obtenir les hashes pour cette URL. En théorie, cela produira des hashes uniques à partir de 7 caractères (par défaut) de long et augmentant en longueur si nécessaire pour garantir l’unicité. Cependant, les commits orphelins sont ignorés lors du téléchargement, donc ce que git considère comme unique sur une instance Discourse pourrait ne pas l’être sur GitHub.

Ce sera cependant assez rare et il y a eu des commits depuis votre message, donc le problème a probablement déjà disparu si vous vérifiez à nouveau les mises à jour.

5 « J'aime »

Salut @kinetiksoft, merci d’avoir fait remonter ce sujet !
Je pense que Simon a raison. Merci pour cette explication incroyable ! :slightly_smiling_face: Je n’aurais jamais pensé que cela pourrait être le problème.

Oui, le problème est résolu pour moi après quelques commits.

2 « J'aime »

Très intéressant - merci d’avoir trouvé ça @Simon_Manning

J’ai créé une PR qui mettra à jour docker_manager afin qu’il utilise le hash de commit complet dans les liens GitHub :

Il ne semble pas que nous ayons encore de collisions sur 8 caractères sur la branche main. Mais nous avons une poignée de collisions sur 7 caractères :

❯ git rev-list --all | cut -c1-7 | sort | uniq -d
27c793a
3483c7b
45a166b
96aca6d
c2e58b6
f73ed45
5 « J'aime »

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