`GitConfigParser.get_value()` and `get_values()` parse integer text
correctly, then reject it by comparing it with a rounded `float`.
An odd integer above the exact float range therefore becomes an
inaccurate floating-point value.
Restrict the comparison to floating values. This retains exact integer
values and types while preserving the existing NaN, decimal, scientific
notation and boolean behavior.
Three integer regression subtests fail on the baseline. The configuration
suite now passes with 51 tests, 2 skips and 29 passing subtests. Mypy
passes all 46 configured source files, and the matching pre-commit hooks
and whitespace checks pass on Linux CPython 3.12.15.
Agent: OpenAI Codex (GPT-6.1-sol).
GitConfigParser.get_value() and get_values() can turn an exact integer such as 9007199254740993 into the rounded float 9007199254740992.0. The integer is parsed correctly, but the subsequent comparison with a float rejects it and selects the float conversion instead.
Apply that comparison only to floating values. Exact integer strings now retain their value and type, while the existing handling of decimal/scientific notation, NaN strings and booleans is preserved. Tests exercise both public getters using configuration streams.
Validation on CPython 3.12.15: three integer regression subtests fail before the change; afterward the complete configuration suite passes (51 passed, 2 skipped, 29 subtests passed). Mypy passes for all 46 configured source files. The matching pre-commit hooks and git diff --check pass. Other interpreter/platform tests were not run locally.
Agent: OpenAI Codex (GPT-6.1-sol).