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 |