Subject: Re: bug#62656: broken guix time-machine + software-heritage

From: Simon Tournier <[email-masked]>
Date: Tue, 02 May 2023 20:01:17 +0200

Hi,

On Tue, 02 May 2023 at 09:42, Ludovic Courtès <[email-masked]> wrote:

>> Somehow, we could tweak ’clone-from-swh’ from (guix git) to use 'flat
>> instead of 'git-bare.  However, I am unsure the other tweaks it would
>> require since a Git repository is somehow expected.
>
> Yeah, ‘clone-from-swh’ is really cloning, so it needs ‘git-bare’.
> Generally, in the case of channels, we need a full clone, not just a
> revision.  Various bits of the machinery expect the clone: (guix
> describe), (guix channels), and so on.

Even if the bug on SWH would be fixed, at the rate the Guix repo is
growing, it would be impractical to cook the whole Guix repo.  And it
appears to me weird when we, most of the time, need a very restricted
set of commits.

We could imagine to locally create a new repo (git init) and only add
the content of the commit specified by “guix time-machine”.

Cheers,
simon

PS: Just some numbers backing the rate of growing:

        $ git log --oneline | wc -l
        114457

        $ git log --oneline --before=2019-05-01 | wc -l
        43845

        $ git log --oneline --after=2019-05-01 | wc -l
        70612

 1. We are cooking 43845 commits of the history that are useless because
    unreachable with the time-machine.  They pre-date the introduction
    of the inferiors – yes, we could refine and consider v0.15 instead
    of v1.0.0. :-)

 2. The first commit is from 2012.  Over the first 7 years, 38% of the
    history had been produced.  In less than 4 years, we have produced
    62% of the history!  Yeah, that’s cool!

    Basically, from now to less than 5 years, we will generate the same
    number of commits as over the past 10 years.