Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: Davide Pesavento <pesa@g.o>
Cc: gentoo-dev@l.g.o, infra-bugs@g.o, qa@g.o, council@g.o
Subject: Re: [gentoo-dev] My masterplan for git migration (+ looking for infra to test it)
Date: Sun, 14 Sep 2014 14:57:57
Message-Id: 20140914164646.6bda77d2@pomiot.lan
In Reply to: Re: [gentoo-dev] My masterplan for git migration (+ looking for infra to test it) by Davide Pesavento
1 Dnia 2014-09-14, o godz. 15:40:06
2 Davide Pesavento <pesa@g.o> napisał(a):
3
4 > On Sun, Sep 14, 2014 at 2:03 PM, Michał Górny <mgorny@g.o> wrote:
5 > > We have main developer repo where developers work & commit and are
6 > > relatively happy. For every push into developer repo, automated magic
7 > > thingie merges stuff into user sync repo and updates the metadata cache
8 > > there.
9 >
10 > How long does the md5-cache regeneration process take? Are you sure it
11 > will be able to keep up with the rate of pushes to the repo during
12 > "peak hours"? If not, maybe we could use a time-based thing similar to
13 > the current cvs->rsync synchronization.
14
15 This strongly depends on how much data is there to update. A few
16 ebuilds are quite fast, eclass change isn't ;). I was thinking of
17 something along the lines of, in pseudo-code speaking:
18
19 systemctl restart cache-regen
20
21 That is, we start the regen on every update. If it finishes in time, it
22 commits the new metadata. If another update occurs during regen, we
23 just restart it to let it catch the new data.
24
25 Of course, if we can't spare the resources to do intermediate updates,
26 we may as well switch to cron-based update method.
27
28 > [...]
29 > > In any case, we would likely strip the history anyway to get a small
30 > > repo to work with.
31 > >
32 > > I have prepared a basic git update hook that keeps master clean
33 > > and attached it to the bug [1]. It enforces basic policies, prevents
34 > > forced updates and checks GPG signatures on left-most history line. It
35 > > can also be extended to do more extensive tree checks.
36 >
37 > Are we going to disallow merge commits and ask devs to rebase local
38 > changes in order to keep the history "clean"?
39
40 I don't think we should cripple git. Just to be clear, 'accidental'
41 merges won't happen because the automatic merges are unsigned
42 and the 'update' hook will refuse them.
43
44 The developers will have to either rebase and resign the commits, or
45 use a signed merge commit whichever makes more sense in particular
46 context.
47
48 Signed merge commits will also allow merging user-submitted changes
49 while preserving original history.
50
51 --
52 Best regards,
53 Michał Górny

Attachments

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

Replies