def get_git_projects(self, groups=None, ignore_missing_groups=True):
        if not groups:
            return self.git_projects
        res = set()
        git_project_names = dict()
        group_names = groups
        for git_project in self.git_projects:
            git_project_names[git_project.name] = git_project
        projects = list()
        groups = qisrc.groups.get_groups(self.worktree)
        for group_name in group_names:
            warn_for_group = True
            try:
                project_names = groups.projects(group_name)
            except qisrc.groups.NoSuchGroup:
                if ignore_missing_groups:
                    project_names = list()
                else:
                    raise
            for project_name in project_names:
                git_project = git_project_names.get(project_name)
                if git_project:
                    res.add(git_project)
                else:
                    if warn_for_group:
                        ui.warning("Group", group_name, "is not currently in use\n",
                                   "Please use `qisrc add-group %s`" % group_name)
                        warn_for_group = False

        res = list(res)
        res.sort(key=operator.attrgetter("src"))
        return res
Get the git projects matching a given group
dataset/ETHPy150Open aldebaran/qibuild/python/qisrc/worktree.py/GitWorkTree.get_git_projects