summaryrefslogtreecommitdiff
path: root/command.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 /command.py
parentabaa7f312f1b6c8d11d7c757fe909900ce5788b5 (diff)
downloadgit-repo-0369a069ade1602879c16dd33dc592bed3f17c0f.tar.gz
git-repo-0369a069ade1602879c16dd33dc592bed3f17c0f.zip
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 'command.py')
-rw-r--r--command.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/command.py b/command.py
index 207ef46b3..38cacd3b7 100644
--- a/command.py
+++ b/command.py
@@ -126,7 +126,7 @@ class Command(object):
pass
return project
- def GetProjects(self, args, missing_ok=False, submodules_ok=False):
+ def GetProjects(self, args, groups='', missing_ok=False, submodules_ok=False):
"""A list of projects that match the arguments.
"""
all_projects_list = self.manifest.projects
@@ -134,7 +134,8 @@ class Command(object):
mp = self.manifest.manifestProject
- groups = mp.config.GetString('manifest.groups')
+ if not groups:
+ groups = mp.config.GetString('manifest.groups')
if not groups:
groups = 'default,platform-' + platform.system().lower()
groups = [x for x in re.split(r'[,\s]+', groups) if x]