Re: [RFC PATCH 0/6] Git 3.0: restrict hex object IDs to lowercase only

Junio C Hamano <[email protected]> Thu, 30 Jul 2026 01:21:46 -0700
Newsgroups org.kernel.vger.git
Message-ID <[email protected]>
"brian m. carlson" <[email protected]> writes:

> As far as I can tell, Git has always emitted hex object IDs in
> lowercase, but our object ID parser accepts both uppercase and
> lowercase.  This leads to much software relying on hex object IDs being
> broken because it doesn't handle uppercase object IDs and this can even
> lead to security problems when people assume that an object ID has a
> unique hex form.
>
> This series proposes to remove the ability to use uppercase hex in
> object IDs in Git 3.0.  It is RFC simply because it's not clear if
> there's the desire to do this, although the series should be fully
> functional.
>
> As further evidence of why we should do this, I'll note that there is
> exactly one testcase in our testsuite that fails due to this change
> (fixed in the last patch) and it's not clear that it fails
> intentionally.  If we decide not to adopt this series, it would probably
> be prudent to add some additional tests for the uppercase variant of hex
> object IDs.

Before going there, we should hear a solid argument why doing this
might be beneficial longer term.  "Just because we might be able to
without harming too many users" is probably not good enough, when it
is not accompanied by "... the (low) risk may be worth taking because
we will gain such and such benefit".