| gerrit ls-projects |
| ================== |
| |
| NAME |
| ---- |
| gerrit ls-projects - List projects visible to caller |
| |
| SYNOPSIS |
| -------- |
| [verse] |
| 'ssh' -p <port> <host> 'gerrit ls-projects' |
| [--show-branch <BRANCH> ...] |
| [--description | -d] |
| [--tree | -t] |
| [--type {code | permissions | all}] |
| [--format {text | json | json_compact}] |
| [--all] |
| [--limit <N>] |
| [--has-acl-for GROUP] |
| |
| DESCRIPTION |
| ----------- |
| Displays the list of project names, one per line, that the |
| calling user account has been granted 'READ' access to. |
| |
| If the caller is a member of the privileged 'Administrators' |
| group, all projects are listed. |
| |
| ACCESS |
| ------ |
| Any user who has configured an SSH key, or by an user over HTTP. |
| |
| SCRIPTING |
| --------- |
| This command is intended to be used in scripts. |
| |
| OPTIONS |
| ------- |
| --show-branch:: |
| -b:: |
| Branch for which the command will display the sha of each project. |
| The command may have multiple --show-branch parameters, in this case |
| sha will be shown for each of the branches. |
| If the user does not have READ access to some branch or the branch does not |
| exist then stub (40 `-` symbols) is shown. |
| If the user does not have access to any branch in the project then the |
| whole project is not shown. |
| |
| --description:: |
| -d:: |
| Allows listing of projects together with their respective |
| description. |
| + |
| For text format output, all non-printable characters (ASCII value 31 or |
| less) are escaped according to the conventions used in languages like C, |
| Python, and Perl, employing standard sequences like `\n` and `\t`, and |
| `\xNN` for all others. In shell scripts, the `printf` command can be |
| used to unescape the output. |
| |
| --tree:: |
| -t:: |
| Displays project inheritance in a tree-like format. |
| This option does not work together with the show-branch option. |
| |
| --type:: |
| Display only projects of the specified type. If not |
| specified, defaults to `code`. Supported types: |
| + |
| -- |
| `code`:: Any project likely to contain user files. |
| `permissions`:: Projects created with the `--permissions-only` flag. |
| `all`:: Any type of project. |
| -- |
| |
| --format:: |
| What output format to display the results in. |
| + |
| -- |
| `text`:: Simple text based format. |
| `json`:: Map of JSON objects describing each project. |
| `json_compact`:: Minimized JSON output. |
| -- |
| |
| --all:: |
| Display all projects that are accessible by the calling user |
| account. Besides the projects that the calling user account has |
| been granted 'READ' access to, this includes all projects that |
| are owned by the calling user account (even if for these projects |
| the 'READ' access right is not assigned to the calling user |
| account). |
| |
| --limit:: |
| Cap the number of results to the first N matches. |
| |
| --has-acl-for:: |
| Display only projects on which access rights for this group are |
| directly assigned. Projects which only inherit access rights for |
| this group are not listed. |
| + |
| With this option you can find out on which projects a group is used. |
| |
| HTTP |
| ---- |
| This command is also available over HTTP, as `/projects/` for |
| anonymous access and `/a/projects/` for authenticated access. |
| Named options are available as query parameters. Results can |
| be limited to projects matching a prefix by supplying the prefix |
| as part of the URL, for example `/projects/external/` lists only |
| projects whose name start with the string `external/`. |
| |
| Over HTTP the `json_compact` output format is assumed if the client |
| explicitly asks for JSON using HTTP header `Accept: application/json`. |
| When any JSON output format is used on HTTP, readers must skip the |
| first line produced. The first line is a garbage JSON string crafted |
| to prevent a browser from executing the response in a script tag. |
| |
| Output will be gzip compressed if `Accept-Encoding: gzip` was used |
| by the client in the request headers. |
| |
| EXAMPLES |
| -------- |
| |
| List visible projects: |
| ===== |
| $ ssh -p 29418 review.example.com gerrit ls-projects |
| platform/manifest |
| tools/gerrit |
| tools/gwtorm |
| |
| $ curl http://review.example.com/projects/ |
| platform/manifest |
| tools/gerrit |
| tools/gwtorm |
| |
| $ curl http://review.example.com/projects/tools/ |
| tools/gerrit |
| tools/gwtorm |
| ===== |
| |
| Clone any project visible to the user: |
| ==== |
| for p in `ssh -p 29418 review.example.com gerrit ls-projects` |
| do |
| mkdir -p `dirname "$p"` |
| git clone --bare "ssh://review.example.com:29418/$p.git" "$p.git" |
| done |
| ==== |
| |
| SEE ALSO |
| -------- |
| |
| * link:access-control.html[Access Controls] |
| |
| GERRIT |
| ------ |
| Part of link:index.html[Gerrit Code Review] |