diff options
Diffstat (limited to 'subcmds/forall.py')
-rw-r--r-- | subcmds/forall.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/subcmds/forall.py b/subcmds/forall.py index b10f34b3..07ee8d58 100644 --- a/subcmds/forall.py +++ b/subcmds/forall.py | |||
@@ -120,6 +120,9 @@ without iterating through the remaining projects. | |||
120 | p.add_option('-r', '--regex', | 120 | p.add_option('-r', '--regex', |
121 | dest='regex', action='store_true', | 121 | dest='regex', action='store_true', |
122 | help="Execute the command only on projects matching regex or wildcard expression") | 122 | help="Execute the command only on projects matching regex or wildcard expression") |
123 | p.add_option('-i', '--inverse-regex', | ||
124 | dest='inverse_regex', action='store_true', | ||
125 | help="Execute the command only on projects not matching regex or wildcard expression") | ||
123 | p.add_option('-g', '--groups', | 126 | p.add_option('-g', '--groups', |
124 | dest='groups', | 127 | dest='groups', |
125 | help="Execute the command only on projects matching the specified groups") | 128 | help="Execute the command only on projects matching the specified groups") |
@@ -215,10 +218,12 @@ without iterating through the remaining projects. | |||
215 | if os.path.isfile(smart_sync_manifest_path): | 218 | if os.path.isfile(smart_sync_manifest_path): |
216 | self.manifest.Override(smart_sync_manifest_path) | 219 | self.manifest.Override(smart_sync_manifest_path) |
217 | 220 | ||
218 | if not opt.regex: | 221 | if opt.regex: |
219 | projects = self.GetProjects(args, groups=opt.groups) | ||
220 | else: | ||
221 | projects = self.FindProjects(args) | 222 | projects = self.FindProjects(args) |
223 | elif opt.inverse_regex: | ||
224 | projects = self.FindProjects(args, inverse=True) | ||
225 | else: | ||
226 | projects = self.GetProjects(args, groups=opt.groups) | ||
222 | 227 | ||
223 | os.environ['REPO_COUNT'] = str(len(projects)) | 228 | os.environ['REPO_COUNT'] = str(len(projects)) |
224 | 229 | ||