summaryrefslogtreecommitdiffstats
path: root/subcmds/list.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/list.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/list.py')
-rw-r--r--subcmds/list.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/subcmds/list.py b/subcmds/list.py
index 945c28d8..ca51c5f7 100644
--- a/subcmds/list.py
+++ b/subcmds/list.py
@@ -35,6 +35,9 @@ This is similar to running: repo forall -c 'echo "$REPO_PATH : $REPO_PROJECT"'.
35 p.add_option('-r', '--regex', 35 p.add_option('-r', '--regex',
36 dest='regex', action='store_true', 36 dest='regex', action='store_true',
37 help="Filter the project list based on regex or wildcard matching of strings") 37 help="Filter the project list based on regex or wildcard matching of strings")
38 p.add_option('-g', '--groups',
39 dest='groups',
40 help="Filter the project list based on the groups the project is in")
38 p.add_option('-f', '--fullpath', 41 p.add_option('-f', '--fullpath',
39 dest='fullpath', action='store_true', 42 dest='fullpath', action='store_true',
40 help="Display the full work tree path instead of the relative path") 43 help="Display the full work tree path instead of the relative path")
@@ -62,7 +65,7 @@ This is similar to running: repo forall -c 'echo "$REPO_PATH : $REPO_PROJECT"'.
62 sys.exit(1) 65 sys.exit(1)
63 66
64 if not opt.regex: 67 if not opt.regex:
65 projects = self.GetProjects(args) 68 projects = self.GetProjects(args, groups=opt.groups)
66 else: 69 else:
67 projects = self.FindProjects(args) 70 projects = self.FindProjects(args)
68 71