Gentoo Archives: gentoo-portage-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-portage-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-portage-dev] [PATCH] repoman: add --straight-to-stable (-S) option
Date: Tue, 24 Mar 2015 09:11:09
Message-Id: 1427188244-27377-1-git-send-email-mgorny@gentoo.org
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

Replies