> $ git --versiongit version 2.47.0.windows.2 > > $ git diff --unified=2147483647 1.txt 2.txt > diff --git a/1.txt b/2.txt > index e53eaa1..1130481 100644 > --- a/1.txt > +++ b/2.txt > @@ -1,10 +1,10 @@ > 1 > -2 > +a > 3 > 4 > 5 > 6 > 7 > 8 > a > 0 > @@ -1,10 +1,10 @@ > 1 > a > 3 > 4 > 5 > 6 > 7 > 8 > -9 > +a > 0 > > $ git diff --unified=3 1.txt 2.txt > diff --git a/1.txt b/2.txt > index e53eaa1..1130481 100644 > --- a/1.txt > +++ b/2.txt > @@ -1,10 +1,10 @@ > 1 > -2 > +a > 3 > 4 > 5 > 6 > 7 > 8 > -9 > +a > 0 > > $ diff --version > diff (GNU diffutils) 3.10 > Copyright (C) 2023 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > > Written by Paul Eggert, Mike Haertel, David Hayes, > Richard Stallman, and Len Tower. > > $ diff --unified=2147483647 1.txt 2.txt > --- 1.txt 2025-03-12 16:04:06.947099900 +0100 > +++ 2.txt 2025-03-12 16:04:27.131732400 +0100 > @@ -1,10 +1,10 @@ > 1 > -2 > +a > 3 > 4 > 5 > 6 > 7 > 8 > -9 > +a > 0 Please see the above command line output. I run this on Windows with git for windows, but the problem should apply for other platforms. The version of my git is 2.47. I prepare two files, I run GNU diff --unified=2147483647 1.txt 2.txt, the output is correct. Then I run git diff with --unified=2147483647, the context of the second hunk is repeated, which is unexpected. I investigated it and found the repetition is due to an overflow issue in xdiff/xemit.c. > xdchange_t *xdl_get_hunk(xdchange_t **xscr, xdemitconf_t const *xecfg){ > xdchange_t *xch, *xchp, *lxch; > long max_common = 2 * xecfg->ctxlen + xecfg->interhunkctxlen; <- ---- > ... > } The documentation https://git-scm.com/docs/git-diff doesn't say the range of --unified. Even if its max value is INT_MAX, 2147483647 is in the range. Can you guys clarify the correct range of --unified? If my value 2147483647 is in range, git diff should output a diff without the strange repetition. Please fix it.