Gentoo Archives: gentoo-scm

From: Alec Warner <antarus@g.o>
To: Donnie Berkholz <dberkholz@g.o>
Cc: Mike Auty <ikelos@g.o>, gentoo-scm@l.g.o
Subject: Re: [gentoo-scm] repoman patch for git support (from drobbins)
Date: Sun, 16 Nov 2008 09:34:12
Message-Id: b41005390811160134y6bffbc1u639181f9379f20b2@mail.gmail.com
In Reply to: Re: [gentoo-scm] repoman patch for git support (from drobbins) by Donnie Berkholz
1 On Sat, Nov 15, 2008 at 8:53 PM, Donnie Berkholz <dberkholz@g.o> wrote:
2 > On 23:07 Sat 15 Nov , Mike Auty wrote:
3 >> The idea was to test an as-close-to-the-real-thing version of git
4 >> portage as possible. Would repoman commit to the local repository and
5 >> then push back to the main tree, or would repoman do the push to the
6 >> main tree directly?
7 >>
8 >> I could clone my clone to do local testing, but I thought the idea would
9 >> be to try out some test/real commits to a large remote copy of the tree,
10 >> and see how all the patches hold up?
11 >
12 > The patch in repoman just commits locally, it does not push. I suppose
13 > an operation or option could be added that treats that as if it were a
14 > single combined step, but I definitely do not want that as the only
15 > choice.
16 >
17 > There's still a lot of unresolved questions about the precise repository
18 > setup and work flow, so simulating it isn't entirely possible yet.
19 >
20 > One major problem with repoman+git is that a major feature of git is
21 > fast commits, but repoman is pretty slow (try a scan in
22 > x11-base/xorg-server). Anyone got a good idea for how to deal with this?
23
24 Change the workflow[1].
25
26 Right now you pay the cost of running tree-wide tests every time you
27 commit. This incentivizes developers to commit less often (to avoid
28 paying the tax of tree-wide tests).
29
30 In CVS commiting less is a problem:
31
32 1. Make Changes to a number of files.
33 2. Script your commits.
34 3. Run Script
35 4....N: Script commits one file at a time.
36 4.5: A race condition between changes you have commited to CVS versus
37 uncommited changes occurs when CVS is synced to Osprey. This race
38 condition can often cause tree oddness.
39 5. All Changes commited.
40 5.5: All changes synced to Osprey.
41
42 I am unsure if repoman category and repoman tree-wide commits avoid
43 this race condition.
44
45 A new scheme would be:
46
47 1. Make Changes to a number of files.
48 2. Category or Treewide Repoman commit.
49 3. Run taxing tree-wide tests.
50 4. git commit -a (?)
51 5. Done!
52
53 Tell me if I'm horribly wrong or missing something, it is late here.
54
55 -Alec
56
57 [1] I fully support server-side tests but I have low expectations for
58 their implementation or deployment. Also it stands to reason that
59 distributed tests scale better in the long run and it is likely that
60 we could make our local tests run much faster if we dedicated some
61 developer time to it. I am sensing a possible SOC project here?
62
63 >
64 > --
65 > Thanks,
66 > Donnie
67 >
68 > Donnie Berkholz
69 > Developer, Gentoo Linux
70 > Blog: http://dberkholz.wordpress.com
71 >

Replies