1 |
On Mon, 2019-02-04 at 18:38 +0100, Michał Górny wrote: |
2 |
> Hello, |
3 |
> |
4 |
> After some initial discussion on the GURU user repository, I'd like to |
5 |
> start bike... I mean, brainstorming v2 of the idea. This time it's more |
6 |
> like Sunrise but with some automation in mind. |
7 |
> |
8 |
> Let's go with two layers like Sunrise -- one private working branch, |
9 |
> and another public that's exposed to users. Commits are merged from |
10 |
> private to public after some kind of review. I suppose to avoid |
11 |
> depgraph misshots etc. we'd want to move commits incrementally, i.e. |
12 |
> public is only doing fast-forward merges from dev. |
13 |
> |
14 |
> Now, reviews are normally done on commit ranges; by default, from |
15 |
> current state of public to current state of dev. When such a range is |
16 |
> reviewed, every commit belonging to it gains reputation. When a range |
17 |
> of commits gets reputation of 3, it is merged to public. |
18 |
> |
19 |
> Reviews can be done by devs or privileges users. Review by dev gives 3 |
20 |
> rep points, and by privileged user gives 1 rep point. Therefore, |
21 |
> a commit is merged if it's either reviewed by dev or 3 privileged users. |
22 |
> |
23 |
|
24 |
Hm, I should've given an example here. Let's say that commits are named |
25 |
for successive latin letters, i.e. A B C D... |
26 |
|
27 |
Public branch is at commit C. Dev branch is at commit F. |
28 |
|
29 |
User 1 clicks big 'I WANNA REVIEW STUFF' button. He's given a diff |
30 |
C..F. If he approves this diff, commits C..F get +1 point. |
31 |
|
32 |
Now dev branch is at commit H. User 2 clicks the big button. He's |
33 |
given a diff C..H. If he approves it, commits C..H get +1 point. This |
34 |
means C..F has 2 points already. |
35 |
|
36 |
Now dev branch is at commit I. User 3 clicks the big button. He's |
37 |
given a diff C..I. If he approves it, commits C..I get +1 point. This |
38 |
means C..F is merged to public, F..H has 2 points and I has 1 point. |
39 |
|
40 |
Dev branch is at J. User 4 clicks the big button. Now he's given |
41 |
the diff F..J. If he approves, F..J gets +1. F..H is merged, I has 2 |
42 |
points, J has 1 point. |
43 |
|
44 |
Next review would be based on H..master, etc. |
45 |
|
46 |
-- |
47 |
Best regards, |
48 |
Michał Górny |