From: Zac Medico Date: Thu, 11 Aug 2011 03:00:11 +0000 (-0700) Subject: repoman: add --if-modified option to check less X-Git-Tag: v2.2.0_alpha51~4 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=178ba38609cab75b22aa771e4155cc9011130a2e;p=portage.git repoman: add --if-modified option to check less This is useful if you want to do a repo-level or category-level commit but you only want to run checks for the packages that have uncommitted modifications. --- diff --git a/bin/repoman b/bin/repoman index f1fbc2444..e806b3125 100755 --- a/bin/repoman +++ b/bin/repoman @@ -209,6 +209,10 @@ def ParseArgs(argv, qahelp): parser.add_option('-x', '--xmlparse', dest='xml_parse', action='store_true', default=False, help='forces the metadata.xml parse check to be carried out') + parser.add_option( + '--if-modified', type='choice', choices=('y', 'n'), default='n', + help='only check packages that have uncommitted modifications') + parser.add_option('-i', '--ignore-arches', dest='ignore_arches', action='store_true', default=False, help='ignore arch-specific failures (where arch != host)') @@ -1068,6 +1072,17 @@ for x in scanlist: if repolevel < 2: checkdir_relative = os.path.join(catdir, checkdir_relative) checkdir_relative = os.path.join(".", checkdir_relative) + + if vcs and options.if_modified == "y": + checkdir_modified = False + checkdir_pattern = checkdir_relative.rstrip(os.sep) + os.sep + for f in chain(mychanged, mynew): + if f.startswith(checkdir_pattern): + checkdir_modified = True + break + if not checkdir_modified: + continue + generated_manifest = False if options.mode == "manifest" or \ diff --git a/man/repoman.1 b/man/repoman.1 index 9aa71805d..8d06ae425 100644 --- a/man/repoman.1 +++ b/man/repoman.1 @@ -41,6 +41,9 @@ Forces the metadata.xml parse check to be carried out \fB-v\fR, \fB--verbose\fR Displays every package name while checking .TP +\fB\-\-if\-modified=\fR +Only check packages that have uncommitted modifications +.TP \fB\-i\fR, \fB\-\-ignore\-arches\fR Ignore arch-specific failures (where arch != host) .TP