summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2015-03-24 10:00:04 +0100
committerMichał Górny <mgorny@gentoo.org>2015-03-25 09:00:11 +0100
commitf0b974c4839d3713fdeecf11eda46a2aeee233c8 (patch)
tree200cdb1155559b06cffc2f7797ad5a517aa9537b
parent_post_src_install_soname_symlinks: fix bug 543818 (diff)
downloadportage-f0b974c4839d3713fdeecf11eda46a2aeee233c8.tar.gz
portage-f0b974c4839d3713fdeecf11eda46a2aeee233c8.tar.bz2
portage-f0b974c4839d3713fdeecf11eda46a2aeee233c8.zip
repoman: add --straight-to-stable (-S) option
Add an option to safely allow committing ebuilds straight to stable. Before, this required either round trips with multiple commits or --force option that ignored valid QA concerns and (surprisingly to many developers) skipped some expensive QA checks.
-rwxr-xr-xbin/repoman28
1 files changed, 16 insertions, 12 deletions
diff --git a/bin/repoman b/bin/repoman
index 13c220daf..7101a0035 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -191,6 +191,9 @@ def ParseArgs(argv, qahelp):
parser.add_argument('-f', '--force', dest='force', default=False, action='store_true',
help='Commit with QA violations')
+ parser.add_argument('-S', '--straight-to-stable', dest='straight_to_stable', default=False,
+ action='store_true', help='Allow committing straight to stable')
+
parser.add_argument('--vcs', dest='vcs',
help='Force using specific VCS instead of autodetection')
@@ -1908,18 +1911,19 @@ for x in effective_scanlist:
(relative_path, len(myaux['DESCRIPTION']), max_desc_len))
keywords = myaux["KEYWORDS"].split()
- stable_keywords = []
- for keyword in keywords:
- if not keyword.startswith("~") and \
- not keyword.startswith("-"):
- stable_keywords.append(keyword)
- if stable_keywords:
- if ebuild_path in new_ebuilds and catdir != "virtual":
- stable_keywords.sort()
- stats["KEYWORDS.stable"] += 1
- fails["KEYWORDS.stable"].append(
- x + "/" + y + ".ebuild added with stable keywords: %s" % \
- " ".join(stable_keywords))
+ if not options.straight_to_stable:
+ stable_keywords = []
+ for keyword in keywords:
+ if not keyword.startswith("~") and \
+ not keyword.startswith("-"):
+ stable_keywords.append(keyword)
+ if stable_keywords:
+ if ebuild_path in new_ebuilds and catdir != "virtual":
+ stable_keywords.sort()
+ stats["KEYWORDS.stable"] += 1
+ fails["KEYWORDS.stable"].append(
+ relative_path + " added with stable keywords: %s" % \
+ " ".join(stable_keywords))
ebuild_archs = set(kw.lstrip("~") for kw in keywords \
if not kw.startswith("-"))