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 |
> |