GNU bug report logs - #48540
Non-recursive Git checkout with submodules breaks SWH download

Previous Next

Package: guix;

Reported by: Timothy Sample <samplet <at> ngyro.com>

Date: Thu, 20 May 2021 15:51:01 UTC

Severity: important

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Timothy Sample <samplet <at> ngyro.com>
To: bug-guix <at> gnu.org
Subject: Non-recursive Git checkout with submodules breaks SWH download
Date: Thu, 20 May 2021 11:50:19 -0400
Hi!

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
    1e3f5106d404562902bed2983403301db24a3f78

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




This bug report was last modified 4 years and 20 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.