Gentoo Archives: gentoo-scm

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-scm@l.g.o
Subject: Re: [gentoo-scm] Git Validation - Update
Date: Tue, 16 Oct 2012 21:08:27
Message-Id: robbat2-20121016T205605-703877371Z@orbis-terrarum.net
In Reply to: Re: [gentoo-scm] Git Validation - Update by Michael Haggerty
1 On Tue, Oct 16, 2012 at 08:42:40PM +0200, Michael Haggerty wrote:
2 > 1. It seems like you are doing an awful lot of work and using a lot of
3 > movable parts to reduce the switchover time. Just how much traffic does
4 > your repo get? Is it really worth the effort to reduce the downtime by
5 > a couple of hours?
6 gentoo-x86 CVS gets ~500 commits/day. ~250/day if you consider the
7 second pass of the Manifest commit as part of the same logical commit as
8 the first pass of the Manifest.
9
10 > 2. It seem to me to be overkill to insist on a repository validation
11 > between the conversion and switching the repository live. I would suggest
12 >
13 > do {
14 > Adjust conversion scripts
15 > Copy CVS repo
16 > Do test conversion
17 > Validate converted repository
18 > } until (validation perfect);
19 >
20 > Switch CVS repo to read-only
21 > Do final conversion
22 > Switch git repo live
23 > Validate converted repository at leisure for your peace of mind
24 This is already the path we're taking, with the additional steps:
25 - Ensure that the conversion output is exactly reproducible, and record
26 the commits that have already been validated as correct (because you
27 can skip them on the next iteration of the loop).
28 - Validate the commits between the last validation success and the
29 readonly point.
30
31 Realistically, we're going to iterate that loop until we're happy with
32 it, then lock read-only, take a final pass of the loop (with the
33 recording of already validated commits and reproducible output, it
34 shouldn't take long to validate the delta at all).
35
36 > > Once I have both I can start working on validation rules and perhaps
37 > > get feedback to the conversion team. We'll need to work out what does
38 > > and doesn't count as OK. We're doing transformation of data during
39 > > migration, so I need to take that into account. Either the logic goes
40 > > into the compare function, or the logic goes into the dump side so
41 > > that the compares work out the same. Timestamps might force us to do
42 > > logic during compare anyway.
43 > What kind of data transformations are you doing during the migration?
44 1. $Header$ expansion is needed to confirm that our Manifest files have
45 entries matching the checksums of the files in a given commit.
46 1.1. Caveat: Make a list of CVS commits w/ known non-matches.
47 2. Potentially: validation of GPG signatures of Manifests.
48 3. Ongoing discussion about converting some non-signed Manifests to
49 thin-Manifest format.
50
51 --
52 Robin Hugh Johnson
53 Gentoo Linux: Developer, Trustee & Infrastructure Lead
54 E-Mail : robbat2@g.o
55 GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85