Gerrit Code Review - Command Line Tools
=======================================

Client
------

Client commands and hooks can be downloaded via scp, wget or curl
from Gerrit's daemon, and then executed on the client system.

To download a client command or hook, use scp or an http client:

  $ scp -p -P 29418 john.doe@review.example.com:bin/gerrit-cherry-pick ~/bin/
  $ scp -p -P 29418 john.doe@review.example.com:hooks/commit-msg .git/hooks/

  $ curl http://review.example.com/tools/bin/gerrit-cherry-pick
  $ curl http://review.example.com/tools/hooks/commit-msg

For more details on how to determine the correct SSH port number,
see link:user-upload.html#test_ssh[Testing Your SSH Connection].

[[client_commands]]Commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~

link:cmd-cherry-pick.html[gerrit-cherry-pick]::
  Download and cherry-pick one or more changes (commits).

[[client_hooks]]Hooks
~~~~~~~~~~~~~~~~~~~~~

Client hooks can be installed into a local Git repository, improving
the developer experience when working with a Gerrit Code Review
server.

link:cmd-hook-commit-msg.html[commit-msg]::
  Automatically generate `Change-Id: ` tags in commit messages.


Server
------

Aside from the standard Git server side actions, Gerrit supports
several other commands over its internal SSH daemon.  As Gerrit does
not provide an interactive shell, the commands must be triggered
from an ssh client, for example:

  $ ssh -p 29418 review.example.com gerrit ls-projects

For more details on how to determine the correct SSH port number,
see link:user-upload.html#test_ssh[Testing Your SSH Connection].

[[user_commands]]User Commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'gerrit approve'::
	'Deprecated alias for `gerrit review`.'

link:cmd-ban-commit.html[gerrit ban-commit]::
	Bans a commit from a project's repository.

link:cmd-ls-groups.html[gerrit ls-groups]::
	List groups visible to the caller.

link:cmd-ls-projects.html[gerrit ls-projects]::
	List projects visible to the caller.

link:cmd-rename-group.html[gerrit rename-group]::
	Rename an account group.

link:cmd-set-reviewers.html[gerrit set-reviewers]::
        Add or remove reviewers on a change.

link:cmd-query.html[gerrit query]::
	Query the change database.

'gerrit receive-pack'::
	'Deprecated alias for `git receive-pack`.'

link:cmd-review.html[gerrit review]::
	Verify, approve and/or submit a patch set from the command line.

link:cmd-stream-events.html[gerrit stream-events]::
	Monitor events occurring in real time.

git upload-pack::
	Standard Git server side command for client side `git fetch`.

link:cmd-receive-pack.html[git receive-pack]::
	Standard Git server side command for client side `git push`.
+
Also implements the magic associated with uploading commits for
review.  See link:user-upload.html#push_create[Creating Changes].

[[admin_commands]]Administrator Commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

link:cmd-create-account.html[gerrit create-account]::
	Create a new batch/role account.

link:cmd-set-account.html[gerrit set-account]::
	Change an account's settings.

link:cmd-create-group.html[gerrit create-group]::
	Create a new account group.

link:cmd-create-project.html[gerrit create-project]::
	Create a new project and associated Git repository.

link:cmd-flush-caches.html[gerrit flush-caches]::
	Flush some/all server caches from memory.

link:cmd-gsql.html[gerrit gsql]::
	Administrative interface to active database.

link:cmd-replicate.html[gerrit replicate]::
	Manually trigger replication, to recover a node.

link:cmd-set-project-parent.html[gerrit set-project-parent]::
	Change the project permissions are inherited from.

link:cmd-show-caches.html[gerrit show-caches]::
	Display current cache statistics.

link:cmd-show-connections.html[gerrit show-connections]::
	Display active client SSH connections.

link:cmd-show-queue.html[gerrit show-queue]::
	Display the background work queues, including replication.

link:cmd-kill.html[kill]::
	Kills a scheduled or running task.

link:cmd-show-queue.html[ps]::
	Alias for 'gerrit show-queue'.

link:cmd-suexec.html[suexec]::
	Execute a command as any registered user account.

GERRIT
------
Part of link:index.html[Gerrit Code Review]
