Gentoo Archives: gentoo-user

From: Davyd McColl <davydm@×××××.com>
To: gentoo-user@l.g.o
Subject: Re[4]: [gentoo-user] Re: Portage, git and shallow cloning
Date: Fri, 06 Jul 2018 11:57:48
Message-Id: em453d229e-131c-49e1-90b3-90e38626cad8@codeo-lt-24
In Reply to: Re: Re[2]: [gentoo-user] Re: Portage, git and shallow cloning by Rich Freeman
1 @Rich: if I understand the process correctly, the same commits are
2 pushed to infra and GitHub by the CI bot?
3
4 I ask because prior to the GitHub incident, I didn't have signature
5 verification enabled (I hadn't read about it and it didn't even occur to
6 me). So my plan was to (whilst GitHub was being sorted out) switch to
7 the gentoo git repo and enable verification and, once I'd seen that that
8 was working (because I'd also seen intermediate emails on this list from
9 people having issues getting signing keys working), perhaps switch back
10 to GitHub to put less strain on the Gentoo servers.
11
12 So if the same commits are just pushed to two remotes (gentoo and
13 GitHub), then I should (in theory) be able to change my repo.conf
14 settings, fiddle the remote in /usr/portage, and switch seamlessly from
15 gentoo to GitHub? Alternatively, I could start with a clean /usr/portage
16 again, once I'm happy that I have signature verification working on my
17 machine.
18
19 I do sync frequently (I'm a bit of an update enthusiast) -- at least
20 once a week, though I prefer more often as I find that the longer I
21 leave between syncs and world-updates, the more effort I have to
22 overcome issues (few though they are). So git is a better fit for me, I
23 think.
24
25 -d
26
27 ------ Original Message ------
28 From: "Rich Freeman" <rich0@g.o>
29 To: gentoo-user@l.g.o
30 Sent: 2018-07-06 13:47:11
31 Subject: Re: Re[2]: [gentoo-user] Re: Portage, git and shallow cloning
32
33 >On Fri, Jul 6, 2018 at 4:34 AM Davyd McColl <davydm@×××××.com> wrote:
34 >>
35 >>I understand that git history will build over time -- I'm less
36 >>concerned
37 >>with (eventual) disk usage than I am with the speed of `emerge
38 >>--sync`,
39 >>which (and perhaps I'm sorely mistaken) appeared to be faster using
40 >>git
41 >>than rsync -- hence my choice of git over rsync (the discussion at
42 >>https://forums.gentoo.org/viewtopic-t-1009562.html shows me to not be
43 >>alone in this experience).
44 >>
45 >
46 >From what I've generally seen/heard git is much more efficient as long
47 >as you sync frequently.
48 >
49 >rsync has the advantage that it only transfers the minimum necessary
50 >to get you from the tree you have now to the tree that is current. To
51 >do this it has to stat every file (using default settings - you can
52 >make it even slower if you want to), which is a lot of file I/O.
53 >
54 >git has the advantage that it can just read the current HEAD and from
55 >that know exactly what commits are missing, so there is way less
56 >effort spent figuring out what changed. It has the disadvantage that
57 >it sends everything that happened since your last sync, which could
58 >include files that were created and subsequently removed. If you sync
59 >often there won't be much of that, but if you're syncing monthly or
60 >even less frequently then you probably will spend a lot of time
61 >transmitting churn.
62 >
63 >It is possible to trim down a repository, and as long as nobody is
64 >doing force pushes on the main repo you should still be able to sync.
65 >However, that is not something that just involves a git one-liner.
66 >Personally I don't mind the space tradeoff, especially in exchange for
67 >the IO tradeoff. A sync is always a VERY fast operation.
68 >
69 >I'll also note that the stable branch (which is always free of obvious
70 >issues caused by devs not running repoman) is only available via git.
71 >There is no reason that couldn't be replicated via rsync, but right
72 >now we only have one set of mirrors.
73 >
74 >I'm still syncing from github after enabling signature checking.
75 >There is a patch that will make that more secure but in the meantime
76 >my scripts keep an eye on exit status when I sync. IMO signature
77 >checking is more important than where you sync from - as long as gpg
78 >says I'm good it really doesn't matter who has the ability to play
79 >with the data enroute. But, it certainly doesn't hurt to sync from
80 >infra (I do have concerns for whether infra could handle everybody
81 >doing it though - github is MS's problem to worry about).
82 >
83 >--
84 >Rich
85 >

Replies