1 |
Add an option to safely allow committing ebuilds straight to stable. |
2 |
Before, this required either round trips with multiple commits or |
3 |
--force option that ignored valid QA concerns and (surprisingly to many |
4 |
developers) skipped some expensive QA checks. |
5 |
--- |
6 |
bin/repoman | 28 ++++++++++++++++------------ |
7 |
1 file changed, 16 insertions(+), 12 deletions(-) |
8 |
|
9 |
diff --git a/bin/repoman b/bin/repoman |
10 |
index 13c220d..03664bd 100755 |
11 |
--- a/bin/repoman |
12 |
+++ b/bin/repoman |
13 |
@@ -191,6 +191,9 @@ def ParseArgs(argv, qahelp): |
14 |
parser.add_argument('-f', '--force', dest='force', default=False, action='store_true', |
15 |
help='Commit with QA violations') |
16 |
|
17 |
+ parser.add_argument('-S', '--straight-to-stable', dest='straight_to_stable', default=False, |
18 |
+ action='store_true', help='Allow committing straight to stable') |
19 |
+ |
20 |
parser.add_argument('--vcs', dest='vcs', |
21 |
help='Force using specific VCS instead of autodetection') |
22 |
|
23 |
@@ -1908,18 +1911,19 @@ for x in effective_scanlist: |
24 |
(relative_path, len(myaux['DESCRIPTION']), max_desc_len)) |
25 |
|
26 |
keywords = myaux["KEYWORDS"].split() |
27 |
- stable_keywords = [] |
28 |
- for keyword in keywords: |
29 |
- if not keyword.startswith("~") and \ |
30 |
- not keyword.startswith("-"): |
31 |
- stable_keywords.append(keyword) |
32 |
- if stable_keywords: |
33 |
- if ebuild_path in new_ebuilds and catdir != "virtual": |
34 |
- stable_keywords.sort() |
35 |
- stats["KEYWORDS.stable"] += 1 |
36 |
- fails["KEYWORDS.stable"].append( |
37 |
- x + "/" + y + ".ebuild added with stable keywords: %s" % \ |
38 |
- " ".join(stable_keywords)) |
39 |
+ if not options.straight_to_stable: |
40 |
+ stable_keywords = [] |
41 |
+ for keyword in keywords: |
42 |
+ if not keyword.startswith("~") and \ |
43 |
+ not keyword.startswith("-"): |
44 |
+ stable_keywords.append(keyword) |
45 |
+ if stable_keywords: |
46 |
+ if ebuild_path in new_ebuilds and catdir != "virtual": |
47 |
+ stable_keywords.sort() |
48 |
+ stats["KEYWORDS.stable"] += 1 |
49 |
+ fails["KEYWORDS.stable"].append( |
50 |
+ x + "/" + y + ".ebuild added with stable keywords: %s" % \ |
51 |
+ " ".join(stable_keywords)) |
52 |
|
53 |
ebuild_archs = set(kw.lstrip("~") for kw in keywords \ |
54 |
if not kw.startswith("-")) |
55 |
-- |
56 |
2.3.3 |