Filemode data type does not support operating systems with 32bit S_IFMT
dustin-ward opened this issue · comments
Dustin Ward commented
The Filemode
variable in tree.go:212
is not large enough to support operating systems with 32bit S_IFMT constants. In zOS for example, S_IFMT = 0xFF000000
. The current implementation will not run on zOS due to overflow errors.
Perhaps increasing to an int64
would help compatibility?
brian m. carlson commented
Hey,
Thanks for reporting this. This value is supposed to use the Git internal values, and not the system values. While most Unix systems use the same constants, apparently zOS doesn't, so we should fix this so it parses the data according to how Git stores it.