1 |
commit: 30c77a7b4c4beab3e93ab32756a2047c6e2d0d77 |
2 |
Author: Michał Górny <mgorny <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Oct 14 18:27:48 2017 +0000 |
4 |
Commit: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jan 3 04:38:30 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=30c77a7b |
7 |
|
8 |
ebuild-maintenance/git: Add new section on repoman commit/full |
9 |
|
10 |
ebuild-maintenance/git/text.xml | 43 ++++++++++++++++++++++++++++++++++------- |
11 |
1 file changed, 36 insertions(+), 7 deletions(-) |
12 |
|
13 |
diff --git a/ebuild-maintenance/git/text.xml b/ebuild-maintenance/git/text.xml |
14 |
index 59f1833..dfc3d5b 100644 |
15 |
--- a/ebuild-maintenance/git/text.xml |
16 |
+++ b/ebuild-maintenance/git/text.xml |
17 |
@@ -112,12 +112,46 @@ the historical commits after the initial git commit. |
18 |
<body> |
19 |
|
20 |
<subsection> |
21 |
+<title>Committing and verifying commits</title> |
22 |
+<body> |
23 |
+ |
24 |
+<p> |
25 |
+The recommended way of committing to the Gentoo repository is to use <c>repoman |
26 |
+commit</c>. It automatically performs the necessary QA checks on the package |
27 |
+being committed and has other features helping with the Gentoo workflow. |
28 |
+However, it is currently limited to creating a single commit to a single |
29 |
+package. |
30 |
+</p> |
31 |
+ |
32 |
+<p> |
33 |
+For any other use case, <c>git commit</c> and other git commands need to be |
34 |
+used. The valid uses of git include: |
35 |
+</p> |
36 |
+ |
37 |
+<ul> |
38 |
+<li>creating commits spanning multiple packages and/or multiple areas |
39 |
+of the Gentoo repository (eclasses, licenses, profiles…),</li> |
40 |
+<li>amending a commit created via <c>repoman commit</c> with additional files |
41 |
+or fixups,</li> |
42 |
+<li>combining multiple commits created via <c>repoman commit</c> using <c>git |
43 |
+rebase</c>.</li> |
44 |
+</ul> |
45 |
+ |
46 |
+<p> |
47 |
+Whenever repoman is not used to commit, you need to manually verify all |
48 |
+packages affected by the commit using <c>repoman full</c>. Since repoman |
49 |
+is not aware of staged changes, please make sure that all files are included |
50 |
+in the commit. |
51 |
+</p> |
52 |
+ |
53 |
+</body> |
54 |
+</subsection> |
55 |
+ |
56 |
+<subsection> |
57 |
<title>Git Commit Policy</title> |
58 |
<body> |
59 |
|
60 |
<ul> |
61 |
-<li>Always run <c>repoman scan</c> before you commit.</li> |
62 |
-<li>Please run <c>repoman full</c> before you commit.</li> |
63 |
<li>Always test that <path>package.mask</path> is okay by doing |
64 |
<c>emerge --pretend mypkg</c> before you commit and check |
65 |
that it doesn't contain any conflicts.</li> |
66 |
@@ -128,11 +162,6 @@ or that is masked, then first commit the revised <path>package.mask</path> and/o |
67 |
then commit the ebuild, patches |
68 |
and <uri link="::ebuild-writing/misc-files/metadata">metadata.xml</uri> all in <b>one</b> go |
69 |
.</li> |
70 |
-<note> Although the set of changes in a single git commit is atomic, and |
71 |
-combining <path>package.mask</path>/license changes with ebuild changes in a |
72 |
-single commit wouldn't break atomicity, it is not currently possible to do so |
73 |
-using <c>repoman commit</c>.</note> |
74 |
-<!-- See: https://bugs.gentoo.org/show_bug.cgi?id=390651 --> |
75 |
</ul> |
76 |
|
77 |
</body> |