Source: libgit2 Version: 1.9.1+ds-1 Severity: wishlist Control: affects -1 + gitg
Please enable the "experimental sha256" feature, and produce a variant
of the library with it. This means passing -DEXPERIMENTAL_SHA256=ON to
cmake.
As noted in the libgit2 README.md, this is an api-incompatible change,
which suggests it would need to be a library transition in debian.
There are a couple different ways it could be done in debian, including
some sort of library rename for the package when built with this
enabled, shipping both variants at once and letting dependencies choose
which one to build against, etc.
We could also use experimental to try this out, so that we can provide
feedback for any dependencies that might need to do a rebuild.
I recognize that this might be a big ask, but we are long overdue to get
the migration process rolling for the git ecosystem, and this kind of
work could help move it along.
If you have any suggestions about the way it should be done, i'm happy
to consider and review.
--dkg
# Background:
Currently, gitg fails to recognize a git repository that uses sha256
object formats:
```
0 dkg@bob:/tmp/cdtemp.Ybpesp$ git init --object-format=sha256
Initialized empty Git repository in /tmp/cdtemp.Ybpesp/.git/
0 dkg@bob:/tmp/cdtemp.Ybpesp$ touch foo
0 dkg@bob:/tmp/cdtemp.Ybpesp$ git add foo
0 dkg@bob:/tmp/cdtemp.Ybpesp$ git commit -m 'added foo'
[main (root-commit) 2812c0d] added foo
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 foo
0 dkg@bob:/tmp/cdtemp.Ybpesp$ git log
commit 2812c0d8244c651e025a0d0786dba9c9d5653842d51a72370d69da9084b80c1c (HEAD
-> main)
Author: Daniel Kahn Gillmor <[email protected]>
Date: Tue Nov 11 14:54:58 2025 -0500
added foo
0 dkg@bob:/tmp/cdtemp.Ybpesp$ gitg
Error: not able to open repository “unknown object format 'sha256'”.
0 dkg@bob:/tmp/cdtemp.Ybpesp$
```
I mentioned this to gitg upstream at
https://gitlab.gnome.org/GNOME/gitg/-/issues/502 and they pointed me to
their libgit2 dependency.
-- System Information:
Debian Release: forky/sid
APT prefers testing-debug
APT policy: (500, 'testing-debug'), (500, 'testing'), (200,
'unstable-debug'), (200, 'unstable'), (1, 'experimental-debug'), (1,
'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 6.16.12+deb14+1-amd64 (SMP w/20 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
signature.asc
Description: PGP signature

