summaryrefslogtreecommitdiffstats
path: root/subcmds/forall.py
diff options
context:
space:
mode:
authorGraham Christensen <graham@grahamc.com>2015-07-29 17:02:54 -0500
committerGraham Christensen <graham@grahamc.com>2015-07-30 12:59:35 -0500
commit0369a069ade1602879c16dd33dc592bed3f17c0f (patch)
tree96d4f4970bc5d0b3ba7fcdca5946e47e170ff2bc /subcmds/forall.py
parentabaa7f312f1b6c8d11d7c757fe909900ce5788b5 (diff)
downloadgit-repo-0369a069ade1602879c16dd33dc592bed3f17c0f.tar.gz
Support filtering by group on forall and list subcmd
Enable operating against groups of repositories. As it stands, it isn't compatible with `-r/--regex`. `repo forall -g groupname -c pwd` will run `pwd` for all projects in groupname. `repo forall -g thisgroup,-butnotthisone -c pwd` will run `pwd` for all projects in `thisgroup` but not `butnotthisone`. `repo list -g groupname -n` will list all the names of repos in `groupname`. Change-Id: Ia75c50ce52541d1c8cea2874b20a4db2e0e54960
Diffstat (limited to 'subcmds/forall.py')
-rw-r--r--subcmds/forall.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/subcmds/forall.py b/subcmds/forall.py
index b93cd6d0..96dc99d1 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('-g', '--groups',
124 dest='groups',
125 help="Execute the command only on projects matching the specified groups")
123 p.add_option('-c', '--command', 126 p.add_option('-c', '--command',
124 help='Command (and arguments) to execute', 127 help='Command (and arguments) to execute',
125 dest='command', 128 dest='command',
@@ -213,7 +216,7 @@ without iterating through the remaining projects.
213 self.manifest.Override(smart_sync_manifest_path) 216 self.manifest.Override(smart_sync_manifest_path)
214 217
215 if not opt.regex: 218 if not opt.regex:
216 projects = self.GetProjects(args) 219 projects = self.GetProjects(args, groups=opt.groups)
217 else: 220 else:
218 projects = self.FindProjects(args) 221 projects = self.FindProjects(args)
219 222