[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