Gentoo Archives: gentoo-dev

From: Brian Evans <grknight@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Suggested sync method/Portage config for devs on ~arch?
Date: Tue, 28 Feb 2017 15:18:34
Message-Id: 02ffdf17-8e0a-bf0d-666f-379e97f25c63@gentoo.org
In Reply to: Re: [gentoo-dev] Suggested sync method/Portage config for devs on ~arch? by Thomas Deutschmann
1 On 2/28/2017 5:14 AM, Thomas Deutschmann wrote:
2 > On 2017-02-28 10:52, James Le Cuirot wrote:
3 >> I use hasufell's repo too. I'm surprised we haven't made it more
4 >> official.
5 >
6 > The public Gentoo git mirror is
7 >
8 > https://github.com/gentoo-mirror/gentoo
9 >
10 > This git mirror includes pre-generated metadata. No need for any
11 > hack/additional step.
12 >
13 > Devs maybe want to switch branch from stable (default branch) to master
14 > branch (stable branch has CI coverage and will only sync if everything
15 > is fine).
16 >
17 >
18
19 People, developers and users, may want to consider some facts when
20 cloning from that repository. (Please read the entire explanation below
21 before commenting.)
22
23 Git does a very poor job of data deduplication by default in this
24 repository and repacks are necessary to keep it sane. Unfortunately,
25 there doesn't seem to be a way to trigger GitHub to do so.
26
27 This is not any developer's fault. Simply a limitation or possible flaw
28 in git itself.
29
30 Shallow clones (--depth=1) are just fine.
31
32 Full clones are ridiculous in size because of needing a full repack
33 periodically. GitHub even hung up on me for a full clone after about a
34 GiB downloaded. Infra's copy has been/is being repacked so the sizes are
35 not so bad.
36
37 If you don't need the full history, then this is very quick and small
38 footprint.
39 End users typically won't care but developers may.
40
41 Brian
42
43 Evidence:
44
45 Github...
46 > grknight@akame ~ $ git clone --depth=1 https://github.com/gentoo-mirror/gentoo.git
47 > Cloning into 'gentoo'...
48 > remote: Counting objects: 155625, done.
49 > remote: Compressing objects: 100% (128104/128104), done.
50 > remote: Total 155625 (delta 31631), reused 75529 (delta 26281), pack-reused 0
51 > Receiving objects: 100% (155625/155625), 80.36 MiB | 2.35 MiB/s, done.
52 > Resolving deltas: 100% (31631/31631), done.
53 > Checking out files: 100% (141011/141011), done.
54 > grknight@akame ~ $ du -sh gentoo/.git
55 > 101M gentoo/.git
56 > grknight@akame ~ $ rm -fr gentoo
57 > grknight@akame ~ $ git clone https://github.com/gentoo-mirror/gentoo.git
58 > Cloning into 'gentoo'...
59 > remote: Counting objects: 3668662, done.
60 > remote: Compressing objects: 100% (677/677), done.
61 > error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
62 > fatal: The remote end hung up unexpectedly
63 > fatal: early EOF
64 > fatal: index-pack failed
65 > grknight@akame ~ $ rm -fr gentoo
66 > grknight@akame ~ $ git clone https://github.com/gentoo-mirror/gentoo.git
67 > Cloning into 'gentoo'...
68 > remote: Counting objects: 3668680, done.
69 > remote: Compressing objects: 100% (694/694), done.
70 > Receiving objects: 100% (3668680/3668680), 1.27 GiB | 2.19 MiB/s, done.
71 > remote: Total 3668680 (delta 326), reused 0 (delta 0), pack-reused 3667973
72 > Resolving deltas: 100% (3144716/3144716), done.
73 > Checking out files: 100% (141015/141015), done.
74 > grknight@akame ~ $ du -sh gentoo/.git
75 > 1.4G gentoo/.git
76
77
78 Infra..
79 > grknight@akame ~ $ git clone --depth=1 https://anongit.gentoo.org/git/repo/sync/gentoo.git
80 > Cloning into 'gentoo'...
81 > remote: Counting objects: 155630, done.
82 > remote: Compressing objects: 100% (138925/138925), done.
83 > remote: Total 155630 (delta 44790), reused 68200 (delta 15465)
84 > Receiving objects: 100% (155630/155630), 75.28 MiB | 1.88 MiB/s, done.
85 > Resolving deltas: 100% (44790/44790), done.
86 > Checking out files: 100% (141015/141015), done.
87 > grknight@akame ~ $ du -sh gentoo/.git
88 > 96M gentoo/.git
89 > grknight@akame ~ $ rm -fr gentoo
90 > grknight@akame ~ $ git clone https://anongit.gentoo.org/git/repo/sync/gentoo.git
91 > Cloning into 'gentoo'...
92 > remote: Counting objects: 3259105, done.
93 > remote: Compressing objects: 100% (472991/472991), done.
94 > remote: Total 3259105 (delta 2818449), reused 3193051 (delta 2758678)
95 > Receiving objects: 100% (3259105/3259105), 556.04 MiB | 1.02 MiB/s, done.
96 > Resolving deltas: 100% (2818449/2818449), done.
97 > Checking out files: 100% (141015/141015), done.
98 > grknight@akame ~ $ du -sh gentoo/.git
99 > 659M gentoo/.git

Attachments

File name MIME type
signature.asc application/pgp-signature