Don
1
你好,
我目前处于 940eb28e31 版本。现在如果我点击提交记录想在 GitHub 上查看:
点击后却找不到任何内容……是 Discourse 更换了分支,还是我遗漏了什么?我在升级前总是会检查提交记录。
谢谢!
使用 OP 的比较(940eb28e…fc61a7c0),我看到了相同的结果。添加第二个提交哈希(940eb28e…fc61a7c0d)的一个字符,我得到了正确的比较。
我的怀疑是,这是由提交哈希歧义引起的,即有两个提交都以 fc61a7c0 开头,所以它不知道使用哪一个。我在提交历史中没有看到它,但它可能是孤立的。
看起来 docker_manager 使用 git rev-parse --short 来获取该 URL 的哈希。理论上,这会产生唯一的哈希,从 7 个字符(默认)开始,并根据需要增加长度以保证唯一性。孤立的提交在拉取时会被忽略,因此 git 在 Discourse 实例上认为是唯一的,而在 GitHub 上可能不是唯一的。
不过,这种情况非常罕见,而且自您发帖以来已经有了新的提交,所以如果您再次检查更新,问题可能已经解决了。
Don
4
你好 @kinetiksoft,感谢你重新提起这个话题!
我相信 Simon 说得对。非常感谢你给出的精彩解释!
我从没想过这可能是问题所在。
是的,在几次提交后,我的问题已经解决了。
david
(David Taylor)
5
非常有趣——感谢@Simon_Manning的分析!
我创建了一个PR,它将更新docker_manager,以便在GitHub链接中使用完整的提交哈希:
看起来我们还没有在main分支上出现8位字符的哈希冲突。但是我们确实有一些7位字符的哈希冲突:
❯ git rev-list --all | cut -c1-7 | sort | uniq -d
27c793a
3483c7b
45a166b
96aca6d
c2e58b6
f73ed45