= ChangeExternalIdCaseSensitivity

== NAME
ChangeExternalIdCaseSensitivity - Convert `username` and `gerrit`
external IDs to be handled case insensitively

== SYNOPSIS
[verse]
--
_java_ -jar gerrit.war _ChangeExternalIdCaseSensitivity_
  -d <SITE_PATH>
  [--batch]
  [--dryrun]
--

== DESCRIPTION
Convert `username` and `gerrit` external IDs to be handled case
insensitively or case sensitively. This is done by recomputing
the name of the note from the sha1 sum of the all lowercase
external ID key or of the key with its original capitalization
respectively.

The tool uses the `auth.userNameCaseInsensitive` option to determine,
whether the migration should be performed to case insensitive or case sensitive
usernames, i.e. if the option is set to `false`, migration will be performed to
make external IDs case insensitive and if set to `true` to case sensitive.

== OPTIONS

-d::
--site-path::
	Path of the Gerrit site

--batch::
    No user interaction is required. The tool won't ask for confirmation before migrating.

--dryrun::
    Whether to perform the conversion without persisting it.

== CONTEXT
This command can only be run offline with direct access to the server's
site.

== EXAMPLES
To convert the external IDs to be case insensitive:

----
    $ git config -f $SITE/etc/gerrit.config --get auth.userNameCaseInsensitive
    > false
    $ java -jar gerrit.war ChangeExternalIdCaseSensitivity -d site_path
----

To convert the external IDs to be case sensitive again:

----
    $ git config -f $SITE/etc/gerrit.config --get auth.userNameCaseInsensitive
    > true
    $ java -jar gerrit.war ChangeExternalIdCaseSensitivity -d site_path
----


== SEE ALSO

* Configuration parameter link:config-gerrit.html#auth.userNameCaseInsensitive[auth.userNameCaseInsensitive]

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

SEARCHBOX
---------
