replication start

NAME

replication start - Manually trigger replication, to recover a node

SYNOPSIS

ssh -p 29418 * replication start
  [--now]
  [--wait]
  {--url <PATTERN> | [--url <PATTERN>] --all | [--url <PATTERN>] <PROJECT PATTERN> ...}

DESCRIPTION

Schedules replication of the specified projects to all configured replication destinations, or only those whose URLs match the pattern given on the command line.

Normally Gerrit automatically schedules replication whenever it makes a change to a managed Git repository. However, there are other reasons why an administrator may wish to trigger replication:

If you get message “Nothing to replicate” while running this command, it may be caused by several reasons, such as you give a wrong url pattern in command options, or the authGroup in the replication.config has no read access for the replicated projects.

If one or several project patterns are supplied, only those projects conforming to both this/these pattern(s) and those defined in replication.config for the target host(s) are queued for replication.

The patterns follow the same format as those in replication.config, where wildcard or regular expression patterns can be given. Regular expression patterns must match a complete project name to be considered a match.

A regular expression pattern starts with ^ and a wildcard pattern ends with a *. If the pattern starts with ^ and ends with *, it is treated as a regular expression.

ACCESS

Caller must be a member of the privileged ‘Administrators’ group, or have been granted the ‘Start Replication’ plugin-owned capability.

SCRIPTING

This command is intended to be used in scripts.

OPTIONS

--now
Start replicating right away without waiting the per remote replication delay.
--wait
Wait for replication to finish before exiting.
--all
Schedule replication for all projects.
--url <PATTERN>
Replicate only to replication destinations whose configuration URL contains the substring PATTERN, or whose expanded project URL contains PATTERN. This can be useful to replicate only to a previously down node, which has been brought back online.

EXAMPLES

Replicate every project, to every configured remote:

  $ ssh -p 29418 * replication start --all

Replicate only to srv2 now that it is back online:

  $ ssh -p 29418 * replication start --url srv2 --all

Replicate only the tools/gerrit project, after deleting a ref locally by hand:

  $ git --git-dir=/home/git/tools/gerrit.git update-ref -d refs/changes/00/100/1
  $ ssh -p 29418 * replication start tools/gerrit

Replicate only projects located in the documentation subdirectory:

  $ ssh -p 29418 * replication start documentation/*

Replicate projects whose path includes a folder named vendor to host replica1:

  $ ssh -p 29418 * replication start --url replica1 ^(|.*/)vendor(|/.*)

Replicate to only one specific destination URL:

  $ ssh -p 29418 * replication start --url https://example.com/tools/gerrit.git

SEE ALSO