Currently the code serialises Grasshopper definitions into binary and creates a SHA1 value. This is by design the same method as git uses, enabling a comparison to occur without downloading the definition from GitHub by just obtaining its SHA1 value and comparing it with the locally calculated one.
However, due to the serialisation result apparently differing by Rhino version (and even when debugging with the same Rhino version), the files would appear to be different when there are no changes other than the Rhino versions used to create vs open the cluster.
This could be solved in a few possible ways:
the definition at the version in question is downloaded and compared with the local one
a new serialisation method is used
an additional checksum value is generated (possibly from the GHX format rather than binary) and saved next to the file in the repo to aid in modification checks
Currently the code serialises Grasshopper definitions into binary and creates a SHA1 value. This is by design the same method as git uses, enabling a comparison to occur without downloading the definition from GitHub by just obtaining its SHA1 value and comparing it with the locally calculated one.
However, due to the serialisation result apparently differing by Rhino version (and even when debugging with the same Rhino version), the files would appear to be different when there are no changes other than the Rhino versions used to create vs open the cluster.
This could be solved in a few possible ways: