1 |
Hello, |
2 |
|
3 |
After some initial discussion on the GURU user repository, I'd like to |
4 |
start bike... I mean, brainstorming v2 of the idea. This time it's more |
5 |
like Sunrise but with some automation in mind. |
6 |
|
7 |
Let's go with two layers like Sunrise -- one private working branch, |
8 |
and another public that's exposed to users. Commits are merged from |
9 |
private to public after some kind of review. I suppose to avoid |
10 |
depgraph misshots etc. we'd want to move commits incrementally, i.e. |
11 |
public is only doing fast-forward merges from dev. |
12 |
|
13 |
Now, reviews are normally done on commit ranges; by default, from |
14 |
current state of public to current state of dev. When such a range is |
15 |
reviewed, every commit belonging to it gains reputation. When a range |
16 |
of commits gets reputation of 3, it is merged to public. |
17 |
|
18 |
Reviews can be done by devs or privileges users. Review by dev gives 3 |
19 |
rep points, and by privileged user gives 1 rep point. Therefore, |
20 |
a commit is merged if it's either reviewed by dev or 3 privileged users. |
21 |
|
22 |
|
23 |
Users gain reviewing privilege also via reputation points. If a commit |
24 |
range including user's commit gets merged to master, user gets 1 rep |
25 |
point (independently of number of commits in the range). When user gets |
26 |
5 rep points, he can start reviewing stuff. |
27 |
|
28 |
Finally, besides positive approval we have option of flagging. You can |
29 |
flag commits, e.g. for malicious code, vandalism, etc. If a commit is |
30 |
flagged, merging it is blocked until a dev resolves the flag. |
31 |
Furthermore, devs can issue bans to users responsible for the bad stuff. |
32 |
|
33 |
That's my idea, roughly. The main points are: |
34 |
|
35 |
- stuff is reviewed before publishing to users, |
36 |
|
37 |
- people are encouraged to review stuff, as previous unreviewed commits |
38 |
are going to block their own, |
39 |
|
40 |
- initially reviews are done by devs but as users gain reputation, they |
41 |
start being able to review ebuilds committed by others, |
42 |
|
43 |
- flagging gives extra protection against mistakes. |
44 |
|
45 |
Your updated thoughts? |
46 |
|
47 |
-- |
48 |
Best regards, |
49 |
Michał Górny |