gerrit set-account
==================

NAME
----
gerrit set-account - Change an account's settings.

SYNOPSIS
--------
[verse]
set-account [--full-name <FULLNAME>] [--active|--inactive] \
            [--add-email <EMAIL>] [--delete-email <EMAIL> | ALL] \
            [--add-ssh-key - | <KEY>] \
            [--delete-ssh-key - | <KEY> | ALL] \
            [--http-password <PASSWORD>] <USER>

DESCRIPTION
-----------
Modifies a given user's settings. This command can be useful to
deactivate an account, set HTTP password, add/delete ssh keys without
going through the UI.

It also allows managing email addresses, which bypasses the
verification step we force within the UI.

ACCESS
------
Caller must be a member of the privileged 'Administrators' group.

SCRIPTING
---------
This command is intended to be used in scripts.

OPTIONS
-------
<USER>::
    Required; Full name, email-address, SSH username or account id.

--full-name::
    Display name of the user account.
+
Names containing spaces should be quoted in single quotes (').
This most likely requires double quoting the value, for example
`--full-name "'A description string'"`.

--active::
    Set the account state to be active.

--inactive::
    Set the account state to be inactive. This prevents the
    user from logging in.

--add-email::
    Add another email to the user's account. This doesn't
    trigger the mail validation and adds the email directly
    to the user's account.
    May be supplied more than once to add multiple emails to
    an account in a single command execution.

--delete-email::
    Delete an email from this user's account if it exists.
    If the email provided is 'ALL', all associated emails are
    deleted from this account.
    Maybe supplied more than once to remove multiple emails
    from an account in a single command execution.

--add-ssh-key::
    Content of the public SSH key to add to the account's
    keyring.  If `-` the key is read from stdin, rather than
    from the command line.
    May be supplied more than once to add multiple SSH keys
    in a single command execution.

--delete-ssh-key::
    Content of the public SSH key to remove from the account's
    keyring or the comment associated with this key.
    If `-` the key is read from stdin, rather than from the
    command line. If the key provided is 'ALL', all
    associated SSH keys are removed from this account.
    May be supplied more than once to delete multiple SSH
    keys in a single command execution.

--http-password::
    Set the HTTP password for the user account.

EXAMPLES
--------
Add an email and SSH key to `watcher`'s account:

====
    $ cat ~/.ssh/id_watcher.pub | ssh -p 29418 review.example.com gerrit set-account --add-ssh-key - --add-email mail@example.com watcher
====

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