Breaking change with "git log -n" since 2.43
- From
Maarten Ackermans <maarten.ackermans@gmail.com>
- Date
- Feb 21, 2024, 13:32 UTC
- Message-ID
- <CAB=tB2vB0LbP=DznSqTFYHCRxDxd6U=Q+P33yeBzGssq2eK1vA@mail.gmail.com>
Hi all,
I would like to report a breaking change with "git log -n" introduced in 2.43 that's causing some trouble: https://github.com/git/git/commit/71a1e94821666909b7b2bd62a36244c601f8430e#diff-380c4eac267b5af349ace88c78a2b004a16ed20c2b605c76827981063924bbf9R2222
To reproduce, the command `git log -n 9007199254740991` fails on 2.43.2, whereas it didn't on 2.42.0. This specific number corresponds to the Number.MAX_SAFE_INTEGER (2^53 - 1) in JavaScript (docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER). The max value that is supported now is a signed 32-bit integer (2^31 - 1).
I suppose git simply ignored the extra digits of the number, as the commit message describes.
See https://github.com/intuit/auto/issues/2425#issuecomment-1956557071 for the impact.
Best regards,
Maarten Ackermans