안녕하세요,
현재 940eb28e31 커밋을 사용하고 있습니다. 그런데 이제 Github에서 해당 커밋을 보기 위해 클릭하면
클릭 후 아무것도 찾을 수 없습니다… Discourse가 브랜치를 변경한 건가요, 아니면 제가 놓치고 있는 것이 있나요? 저는 항상 업그레이드 전에 커밋을 확인합니다.
감사합니다! ![]()
안녕하세요,
현재 940eb28e31 커밋을 사용하고 있습니다. 그런데 이제 Github에서 해당 커밋을 보기 위해 클릭하면
클릭 후 아무것도 찾을 수 없습니다… Discourse가 브랜치를 변경한 건가요, 아니면 제가 놓치고 있는 것이 있나요? 저는 항상 업그레이드 전에 커밋을 확인합니다.
감사합니다! ![]()
안녕하세요,
저희도 동일한 문제를 겪고 있습니다. 해결하신 적이 있으신가요?
OP에서 제시한 비교 링크(940eb28e…fc61a7c0)를 사용해 보니 동일한 결과가 나옵니다. 두 번째 커밋 해시 문자열에 한 글자만 더 추가하면(940eb28e…fc61a7c0d) 올바른 비교 결과가 표시됩니다.
이 문제는 커밋 해시 모호성 때문에 발생하는 것으로 추정됩니다. 즉, fc61a7c0로 시작하는 커밋이 두 개 존재하여 어떤 커밋을 사용해야 하는지 판단하지 못하는 것입니다. 커밋 히스토리에서는 이를 확인할 수 없지만, 고아(orphaned) 커밋일 수도 있습니다.
docker_manager는 해당 URL에 사용할 해시를 가져오기 위해 git rev-parse --short를 사용하는 것으로 보입니다. 이론적으로 이 명령은 기본적으로 7자리를 시작하여 고유성을 보장하기 위해 필요한 만큼 길이를 늘려가는 방식으로 고유한 해시를 생성합니다. 그러나 pull 시 고아 커밋은 무시되므로, Discourse 인스턴스에서 git이 고유하다고 판단하는 해시가 GitHub에서는 고유하지 않을 수 있습니다.
다만 이러한 상황은 매우 드물며, 게시 이후 새로운 커밋이 추가되었으므로 업데이트를 다시 확인하면 문제가 이미 해결되었을 가능성이 높습니다.
Hi @kinetiksoft, 이 주제를 다시 올려줘서 감사합니다!
Simon이 맞다고 생각합니다. 정말 훌륭한 설명 감사합니다!
이 문제가 원인일 거라고는 생각도 못 했습니다.
네, 몇 번의 커밋 후 제 환경에서는 문제가 해결되었습니다.
매우 흥미롭네요 - 해결해 주셔서 감사합니다 @Simon_Manning
docker_manager가 GitHub 링크에서 전체 커밋 해시를 사용하도록 업데이트하는 PR을 만들었습니다:
main 브랜치에서는 아직 8자 충돌이 없는 것 같습니다. 하지만 7자 충돌은 몇 건 있습니다:
❯ git rev-list --all | cut -c1-7 | sort | uniq -d
27c793a
3483c7b
45a166b
96aca6d
c2e58b6
f73ed45