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