guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 79-GiB opam checkout in ~/.cache/guix


From: Bengt Richter
Subject: Re: 79-GiB opam checkout in ~/.cache/guix
Date: Mon, 18 Nov 2019 16:03:10 -0800
User-agent: Mutt/1.12.1 (2019-06-15)

Hi Tobias,

On +2019-11-18 23:58:10 +0100, Tobias Geerinckx-Rice wrote:
> Auntie Guix,
> 
> My SSD hurts & my ~/.cache/guix feels funny:
> 
>  ~ λ du -hs ~/.cache/guix/checkouts/* | sort -h
>  560K /home/nckx/.cache/guix/checkouts/hp4…
>  1.3M /home/nckx/.cache/guix/checkouts/l74…
>  2.5M /home/nckx/.cache/guix/checkouts/hep…
>  219M /home/nckx/.cache/guix/checkouts/pjm…
>  79G  /home/nckx/.cache/guix/checkouts/f5u…
> 
> …wait, what the hell is that last one?
> 
>  ~ λ cat ~/.cache/guix/checkouts/f5u…/.git/config
>  [core]
>       bare = false
>       repositoryformatversion = 0
>       filemode = true
>       logallrefupdates = true
>  [remote "origin"]
>       url = https://github.com/ocaml/opam-repository
>       fetch = +refs/heads/*:refs/remotes/origin/*
> 
> I have no idea what this means or what has happened.  I don't remember
> running an opam importer recently, although I've probably run ‘guix refresh’
> on an opam package or so.
> 
> Still.
> 
> According to GitHub, the repository is only 70.9 *MiB* and when I clone it
> locally it's still nowhere near a gigabyte:
> 
>  ~ λ git clone  https://github.com/ocaml/opam-repository
>  Cloning into 'opam-repository'...
>  Receiving objects: 100% (316368/316368), 69.07 MiB | 5.70 MiB/s,  done.
> 
>  ~ λ du -hs opam-repository/
>  562M opam-repository/
> 
> Halp,
> 
> T G-R

Did you possibly get recursion into a lot of unintended submodules?

What would you get if you cd into opam-repository above and did
per "man got-clone" below (cf. "This is equivalent to running ..."

    git submodule update --init --recursive

(i.e. with no <pathspec>, to get all submodules)

What is du -hs ../opam-repository after that finishes?


copied from man git-clone:
--8<---------------cut here---------------start------------->8---
        --recurse-submodules[=<pathspec]
            After the clone is created, initialize and clone
            submodules within based on the provided pathspec. If no
            pathspec is provided, all submodules are initialized and
            cloned. This option can be given multiple times for
            pathspecs consisting of multiple entries. The resulting
            clone has submodule.active set to the provided pathspec,
            or "." (meaning all submodules) if no pathspec is
            provided.

            Submodules are initialized and cloned using their
            default settings. This is equivalent to running git
            submodule update --init --recursive <pathspec>
            immediately after the clone is finished. This option is
            ignored if the cloned repository does not have a
            worktree/checkout (i.e. if any of --no-checkout/-n,
            --bare, or --mirror is given)
--8<---------------cut here---------------end--------------->8---

HTH
-- 
Regards,
Bengt Richter



reply via email to

[Prev in Thread] Current Thread [Next in Thread]