On 2026-03-17 at 18:44:41, Jeff King wrote: > So unless somebody can come up with a more compelling example, I don't > really see much backwards-compatibility risk. But maybe I just lack > imagination. ;) The only reason I can imagine intentionally using `-h` in a script is to find out whether an option is supported. For instance, I have this alias: co = "!f() { if git checkout -h | grep -qs recurse-submodules; \ then git checkout --recurse-submodules \"$@\"; \ else git checkout \"$@\" && git sui; \ fi; };f" (`sui` is `submodule update --init`.) In most cases, that's going to be upstream of a pipe, so unless you're using `-o pipefail` (which is only in POSIX in POSIX 1003.1-2024), it's going to succeed anyway. I suppose one can also use it to generate a manual page, which manual page generators do, but that seems silly when Git provides much better ones unless you desperately need one in a different language for which Git has translations but no manual page. None of these seem like they're likely to care about the exit status and I suspect that if they do, they are probably using `|| true` to ignore the unexpected 129 exit code. So I agree that there's unlikely to be any sort of backward compatibility issues. If the consensus is that this is shipped only in 3.0, then we can do that, but I think many people are not going to care and those that do will welcome the change, so I'd just rather treat it as a bug that we fix. -- brian m. carlson (they/them) Toronto, Ontario, CA