Non-recursive Git checkout with submodules breaks SWH download

  • Open
  • quality assurance status badge
2 participants
  • Ludovic Courtès
  • Timothy Sample
Submitted by
Timothy Sample

Debbugs page

Timothy Sample wrote on 20 May 2021 08:50
(address .

When trying to recover the ‘non-sequencer’ source from SWH, Guix fails
with a hash mismatch:

expected hash: 1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx
actual hash: 1xrrczqx4ll276g449nqiq0ip6lpika9hs4z4xgxaa6ayw60v29f

The reason is that the checkout includes submodules, and the way that
Guix treats submodules differs from the way that SWH treats them. Note
that this is not a recursive checkout (which is also broken, but more
clearly a “known limitation”). In particular, Guix leaves the submodule
as an empty directory, while SWH turns it into a symlink pointing to the
submodule’s commit hash:

$ readlink ./f20fa6babec52bbf703bad6c1c92fa845b781f7e/lib/ntk

This is clearly a rare edge case, but it should be pretty easy to fix.
Perhaps it’s as easy as just opening “.gitmodules” and replacing the
symlink at each submodule path with an empty directory.

-- Tim
Ludovic Courtès wrote on 29 May 2021 14:04
control message for bug #48540
(address .
severity 48540 important
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to

To respond to this issue using the mumi CLI, first switch to it
mumi current 48540
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch