1 |
>>>>> On Sun, 21 Sep 2014, hasufell wrote: |
2 |
|
3 |
> https://wiki.gentoo.org/wiki/Gentoo_git_workflow |
4 |
|
5 |
> But so far, not many people have been particularly interested in the |
6 |
> details of these things. I'm also not sure if the ML is the right |
7 |
> way to figure out these details. |
8 |
|
9 |
Where else should this be discussed then? Discussion page of the wiki |
10 |
page? |
11 |
|
12 |
| commit policy |
13 |
| • atomic commits (one logical change) |
14 |
|
15 |
A version bump plus cleaning up older ebuilds will be considered one |
16 |
logical change, I suppose? |
17 |
|
18 |
| • commits may span across multiple ebuilds/directories if it's one |
19 |
| logical change |
20 |
| • every commit on the left-most line of the history (that is, all |
21 |
| the commits following the first parent of each commit) must be gpg |
22 |
| signed by a gentoo dev |
23 |
| • repoman must be run from all related ebuild directories (or |
24 |
| related category directories or top-level directory) on the tip of |
25 |
| the local master branch (as in: right before you push and also |
26 |
| after resolving push-conflicts) |
27 |
|
28 |
Have you tested if running repoman in the top-level directory is |
29 |
realistic as part of the workflow? |
30 |
|
31 |
| commit message format |
32 |
| • all lines max 70-75 chars |
33 |
| • first line brief explanation |
34 |
| • second line always empty |
35 |
| • optional detailed multiline explanation must start at the third |
36 |
| line |
37 |
| • for commits that affect only a single package, prepend |
38 |
| "CATEGORY/PN: " to the first line |
39 |
|
40 |
In some cases of long package names, this may be in conflict with the |
41 |
first item. "dev-python/rax-default-network-flags-python-novaclient-ext: " |
42 |
as a prefix doesn't leave much space for an explanation. ;) |
43 |
|
44 |
| • for commits that affect only a single package, but also modify |
45 |
| eclasses/profiles/licenses as part of a logical change, also |
46 |
| prepend "CATEGORY/PN: " to the first line |
47 |
| • for commits that affect only the profile directory, prepend |
48 |
| "profiles: " to the first line |
49 |
| • for commits that affect only the eclass directory, prepend |
50 |
| "ECLASSNAME.eclass: " to the first line |
51 |
|
52 |
Maybe just "eclass: " would be slightly more systematic? (Because for |
53 |
all others it is a directory.) |
54 |
|
55 |
| • for commits that affect only licenses directory, prepend |
56 |
| "licenses: " to the first line |
57 |
|
58 |
Same for commits that affect licenses and profiles? |
59 |
|
60 |
| • for commits that affect only metadata directory, prepend |
61 |
| "metadata: " to the first line |
62 |
| • mass commits that affect a whole category (or large parts of it) |
63 |
| may prepend "CATEGORY: " to the first line |
64 |
|
65 |
All in all, this looks sane to me. Is it planned to enforce this |
66 |
policy by repoman? |
67 |
|
68 |
Ulrich |