diff options
-rwxr-xr-x | bin/repoman | 15 | ||||
-rw-r--r-- | man/repoman.1 | 3 |
2 files changed, 18 insertions, 0 deletions
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=<y|n>\fR +Only check packages that have uncommitted modifications +.TP \fB\-i\fR, \fB\-\-ignore\-arches\fR Ignore arch-specific failures (where arch != host) .TP |