7e45a469fb
Listing project with type 'code' requires to open the project git repository and type 'all' doesn't. Change the default type option to 'all' to prevent opening all git repositories every time ls-projects is called without specifying the type option. The main motivation for this change is to reduce load on Gerrit having a lot of repositories and a lot of Jenkins Gerrit-Trigger connected to it. Gerrit-Trigger uses the ls-projects command to build and keep up to date its cache of Gerrit projects. The only consequence of this change is that ls-projects users that didn't specify the type option could now see more projects which should not be an issue. Change-Id: I747fdfae6825bbc9999c84b95a91dbefd7ade4bb
151 lines
4.2 KiB
Plaintext
151 lines
4.2 KiB
Plaintext
= gerrit ls-projects
|
|
|
|
== NAME
|
|
gerrit ls-projects - List projects visible to caller
|
|
|
|
== SYNOPSIS
|
|
--
|
|
'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 `all`. 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]
|
|
|
|
SEARCHBOX
|
|
---------
|