The package FixedPointNumbers listed this in the Julia registry:
["0.8.5"]
git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
However, when I cloned FixedPointNumbers from the file General/F/FixedPointNumbers/Package.toml at 110dd3d5c95297a72f5b51b97b4adb8296ec8c7b · JuliaRegistries/General · GitHub, the tree hash displayed in git tree --pretty=raw does not match the given hash.
commit b62e8ce3bbda145960ff4c9911ad8691e3b4f74f
tree b459f9685afd44ffefdc2c241b2528c9a45ac9b4
parent a995a9d155825454e51df0c192804d2634a25060
author kimikage <kimikage.ceo@gmail.com> 1715604800 +0900
committer GitHub <noreply@github.com> 1715604800 +0900
and 05882d... does not exist anywhere in this log.
How does the package manager reconcile this? If the tree hash is not present, does it just default to the tag "v$version"?
I simply dislike the implication that I might have done something improper, so I am showing that the hashes match.
$git log --pretty=raw | grep -B 2 -A 25 "05882d"
commit c372941791804d35e45b03615edd1dcb86a09da8
tree 05882d6995ae5c12bb5f36dd2ed3f61c98cbb172
parent b62e8ce3bbda145960ff4c9911ad8691e3b4f74f
author kimikage <kimikage.ceo@gmail.com> 1715606483 +0900
committer GitHub <noreply@github.com> 1715606483 +0900
gpgsig -----BEGIN PGP SIGNATURE-----
wsFcBAABCAAQBQJmQhPTCRC1aQ7uu5UhlAAAc+IQAFj2pgzYpri+DS/3xwUo2hj5
spetoLSnHDna2tW+LfPdwIi+auGEH5gvbibfO/Tn63M8aeu4pIqEF5cb9hl2c+qY
e5QIbjLueNKlfmK/l1WNzRkYFoBcdqzde7qwsr6nuQ3kRtbMffDkN4B9swwrZ4LW
LuutujM4pi1+ZSEJRXV9g4LLnsWXVR1EQX4Igv6Skolt/qIWZ11hNGuvzhf+0N/c
0JRrw+21q6K35dujcJg+lrF5hPjNI4fXUbUiD/LMI0zvW2UffIO+qXbJ7ZRhRLCr
7EWXUQXb66aqpwQ1NDp7CwG/NN1s3DoOcukTgiFpH5iWa7W838ltT75fJRf72t8L
Eew/Z/P7J2+Af4Hy/Zdm24z3jK7nLTnlVmLvoeQWAGdoHxFpOM8amFN4Zn+t6xMe
bdFAHLILGZptbk2kUsKIzINcJDovDROf41xylyr4A95Hr+ZJWjBruTXSnccciJ5T
aESpI2a4vnQZqnKt1bMDiwUOqgTB6kCEXszMJlKWY7qRGKPvA8EGZUWWKpvWU8fg
m6RhlNNIkVCXoxLBnfC+kiKHKhegDL2esiBMi538WWT+4kUCT/o4xAN1mFxYQaVg
3NReDt9uI3AGihkC+hd9k8NsJhOGwFbHd2bTY9bbv4zO9KL9YN1p1ymMbdS4mtRq
1RparvGzQ/+k/Ngr+5hK
=2Hy/
-----END PGP SIGNATURE-----
Version 0.8.5 (#302)
commit b62e8ce3bbda145960ff4c9911ad8691e3b4f74f
tree b459f9685afd44ffefdc2c241b2528c9a45ac9b4
There is nothing wrong here but to see the tree hash in the log, you either have to be on the right branch in the revision history or provide the --all flag to git log.
Btw, a more definite way to determine whether the tree hash is present somewhere in the repository is to run
git rev-parse 05882d6995ae5c12bb5f36dd2ed3f61c98cbb172^{tree}
In a hypothetical case where something is wrong, e.g. due to a git revision history rewrite some time after the registration, the following would happen:
- By default the package manager would not query the repository at all but download the package from the package server, and verify that the downloaded content has a matching tree hash.
- If step 1 fails, either because the package server never managed to cache the package, there is some network failure, or the package server is actively disabled, Pkg would give an error if it doesn’t find the tree hash in the repository. Contrary to popular belief, the package manager doesn’t care at all about git tags for registered package versions.