Subject: Making bit-by-bit reproducible Git Bundles?

From: Simon Josefsson <[email-masked]>
Date: Wed, 12 Mar 2025 12:40:05 +0100

Hi.

Thank you for the "git-archive" and "git-bundle" features, making it
easier to do source-based builds in a no-Internet environment.

I have published a Git bundle of Gnulib:

https://www.gnu.org/software/gnulib/manual/html_node/Gnulib-Git-Bundle.html

As you can see at the end, I struggle to come up with a recipe to allow
others to reproduce the git bundle that I created.

If I run the recipe above twice (including the clone), I get different
checksums.  This even if nothing was committed in the remote repository
meanwhile.

Is it possible to create a bit-by-bit reproducible git bundle using some
other set of commands?  If so, how?  I'm using git 2.48.1 from Guix.

Can anyone explain what is causing the irreproducibility?  Running
diffoscope is not helpful, since the bundle is compressed and diffoscope
doesn't seem to know how to untangle it.

If this is not possible today, what do you think about changes to make
this work?

Thanks,
/Simon