From 178ba38609cab75b22aa771e4155cc9011130a2e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 10 Aug 2011 20:00:11 -0700 Subject: 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. --- bin/repoman | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'bin') 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 \ -- cgit v1.2.3-1-g7c22