summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/repoman15
-rw-r--r--man/repoman.13
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