= SwitchSecureStore

== NAME
SwitchSecureStore - Changes the currently used SecureStore implementation

== SYNOPSIS
[verse]
--
_java_ -jar gerrit.war _SwitchSecureStore_
  [--new-secure-store-lib=<PATH_TO_JAR>]
--

== DESCRIPTION
Changes the SecureStore implementation used by Gerrit. It migrates all data
stored in the old implementation, removes the old implementation jar file
from `$site_path/lib` and puts the new one there. As a final step
the link:config-gerrit.html#gerrit.secureStoreClass[gerrit.secureStoreClass]
property of `gerrit.config` will be updated.

All dependencies not provided by Gerrit should be put the in `$site_path/lib`
directory manually, before running the `SwitchSecureStore` program.

After this operation there is no automatic way back the to standard Gerrit no-op
secure store implementation, however there is a manual procedure:
* stop Gerrit,
* remove SecureStore jar file from `$site_path/lib`,
* put plain text passwords into `$site_path/etc/secure.conf` file,
* start Gerrit.

== OPTIONS

--new-secure-store-lib::
	Path to jar file with new SecureStore implementation. Jar dependencies must be
	put in `$site_path/lib` directory.

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

SEARCHBOX
---------
