Merge "Add support for Documentation search" into stable-2.16
diff --git a/Documentation/cmd-plugin-install.txt b/Documentation/cmd-plugin-install.txt
index 5443613..ef68b40 100644
--- a/Documentation/cmd-plugin-install.txt
+++ b/Documentation/cmd-plugin-install.txt
@@ -46,29 +46,25 @@
 Install a plugin from an absolute file path on the server's host:
 
 ----
-	ssh -p 29418 localhost gerrit plugin install -n name.jar \
-	  $(pwd)/my-plugin.jar
+ssh -p 29418 localhost gerrit plugin install -n name.jar $(pwd)/my-plugin.jar
 ----
 
 Install a WebUI plugin from an absolute file path on the server's host:
 
 ----
-  ssh -p 29418 localhost gerrit plugin install -n name.js \
-    $(pwd)/my-webui-plugin.js
+ssh -p 29418 localhost gerrit plugin install -n name.js $(pwd)/my-webui-plugin.js
 ----
 
 Install a plugin from an HTTP site:
 
 ----
-	ssh -p 29418 localhost gerrit plugin install -n name.jar \
-	  http://build-server/output/our-plugin
+ssh -p 29418 localhost gerrit plugin install -n name.jar http://build-server/output/our-plugin
 ----
 
 Install a plugin from piped input:
 
 ----
-	ssh -p 29418 localhost gerrit plugin install -n name.jar \
-	  - <target/name-0.1.jar
+ssh -p 29418 localhost gerrit plugin install -n name.jar - <target/name-0.1.jar
 ----
 
 GERRIT
diff --git a/Documentation/cmd-plugin-reload.txt b/Documentation/cmd-plugin-reload.txt
index ad1e5e7..5cfb6cc 100644
--- a/Documentation/cmd-plugin-reload.txt
+++ b/Documentation/cmd-plugin-reload.txt
@@ -36,7 +36,7 @@
 Reload a plugin:
 
 ----
-	ssh -p 29418 localhost gerrit plugin reload my-plugin
+ssh -p 29418 localhost gerrit plugin reload my-plugin
 ----
 
 GERRIT
diff --git a/Documentation/cmd-plugin-remove.txt b/Documentation/cmd-plugin-remove.txt
index 805c7b4..f5fe56b 100644
--- a/Documentation/cmd-plugin-remove.txt
+++ b/Documentation/cmd-plugin-remove.txt
@@ -33,7 +33,7 @@
 Disable a plugin:
 
 ----
-	ssh -p 29418 localhost gerrit plugin remove my-plugin
+ssh -p 29418 localhost gerrit plugin remove my-plugin
 ----
 
 GERRIT
diff --git a/Documentation/cmd-query.txt b/Documentation/cmd-query.txt
index 90e5cdd..79723c5 100644
--- a/Documentation/cmd-query.txt
+++ b/Documentation/cmd-query.txt
@@ -117,18 +117,18 @@
 
 Find the 2 most recent open changes in the tools/gerrit project:
 ----
-  $ ssh -p 29418 review.example.com gerrit query --format=JSON status:open project:tools/gerrit limit:2
-  {"project":"tools/gerrit", ...}
-  {"project":"tools/gerrit", ...}
-  {"type":"stats","rowCount":2,"runningTimeMilliseconds:15}
+$ ssh -p 29418 review.example.com gerrit query --format=JSON status:open project:tools/gerrit limit:2
+{"project":"tools/gerrit", ...}
+{"project":"tools/gerrit", ...}
+{"type":"stats","rowCount":2,"runningTimeMilliseconds:15}
 ----
 
 Skip number of changes:
 ----
-  $ ssh -p 29418 review.example.com gerrit query --format=JSON --start 42 status:open project:tools/gerrit limit:2
-  {"project":"tools/gerrit", ...}
-  {"project":"tools/gerrit", ...}
-  {"type":"stats","rowCount":1,"runningTimeMilliseconds:15}
+$ ssh -p 29418 review.example.com gerrit query --format=JSON --start 42 status:open project:tools/gerrit limit:2
+{"project":"tools/gerrit", ...}
+{"project":"tools/gerrit", ...}
+{"type":"stats","rowCount":1,"runningTimeMilliseconds:15}
 ----
 
 
diff --git a/Documentation/cmd-receive-pack.txt b/Documentation/cmd-receive-pack.txt
index b62b9a9..9c6d9fa 100644
--- a/Documentation/cmd-receive-pack.txt
+++ b/Documentation/cmd-receive-pack.txt
@@ -1,7 +1,7 @@
 = git-receive-pack
 
 == NAME
-git-receive-pack - Receive what is pushed into the repository
+git-receive-pack - Receive what is pushed into the repository.
 
 == SYNOPSIS
 [verse]
@@ -43,36 +43,36 @@
 
 Send a review for a change on the master branch to charlie@example.com:
 ----
-	git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com
+git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com
 ----
 
 Send reviews, but tagging them with the topic name 'bug42':
 ----
-	git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com,topic=bug42
+git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com,topic=bug42
 ----
 
 Also CC two other parties:
 ----
-	git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
+git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
 ----
 
 Configure a push macro to perform the last action:
 ----
-	git config remote.charlie.url ssh://review.example.com:29418/project
-	git config remote.charlie.push HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
+git config remote.charlie.url ssh://review.example.com:29418/project
+git config remote.charlie.push HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
 ----
 
 afterwards `.git/config` contains the following:
 ----
 [remote "charlie"]
-  url = ssh://review.example.com:29418/project
-  push = HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
+ url = ssh://review.example.com:29418/project
+ push = HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
 ----
 
 and now sending a new change for review to charlie, CC'ing both
 alice and bob is much easier:
 ----
-	git push charlie
+git push charlie
 ----
 
 == SEE ALSO
diff --git a/Documentation/cmd-reload-config.txt b/Documentation/cmd-reload-config.txt
index 7a25130..6d652f5 100644
--- a/Documentation/cmd-reload-config.txt
+++ b/Documentation/cmd-reload-config.txt
@@ -33,7 +33,7 @@
 Reload the gerrit configuration:
 
 ----
-	ssh -p 29418 localhost gerrit reload-config
+ssh -p 29418 localhost gerrit reload-config
 ----
 
 GERRIT
diff --git a/Documentation/cmd-rename-group.txt b/Documentation/cmd-rename-group.txt
index a48014c..c946e88 100644
--- a/Documentation/cmd-rename-group.txt
+++ b/Documentation/cmd-rename-group.txt
@@ -32,7 +32,7 @@
 Rename the group "MyGroup" to "MyCommitters".
 
 ----
-	$ ssh -p 29418 user@review.example.com gerrit rename-group MyGroup MyCommitters
+$ ssh -p 29418 user@review.example.com gerrit rename-group MyGroup MyCommitters
 ----
 
 GERRIT
diff --git a/Documentation/cmd-review.txt b/Documentation/cmd-review.txt
index a407856..5417901 100644
--- a/Documentation/cmd-review.txt
+++ b/Documentation/cmd-review.txt
@@ -1,7 +1,7 @@
 = gerrit review
 
 == NAME
-gerrit review - Apply reviews to one or more patch sets
+gerrit review - Apply reviews to one or more patch sets.
 
 == SYNOPSIS
 [verse]
@@ -144,35 +144,35 @@
 
 Approve the change with commit c0ff33 as "Verified +1"
 ----
-	$ ssh -p 29418 review.example.com gerrit review --verified +1 c0ff33
+$ ssh -p 29418 review.example.com gerrit review --verified +1 c0ff33
 ----
 
 Vote on the project specific label "mylabel":
 ----
-	$ ssh -p 29418 review.example.com gerrit review --label mylabel=+1 c0ff33
+$ ssh -p 29418 review.example.com gerrit review --label mylabel=+1 c0ff33
 ----
 
 Append the message "Build Successful". Notice two levels of quoting is
 required, one for the local shell, and another for the argument parser
 inside the Gerrit server:
 ----
-	$ ssh -p 29418 review.example.com gerrit review -m '"Build Successful"' c0ff33
+$ ssh -p 29418 review.example.com gerrit review -m '"Build Successful"' c0ff33
 ----
 
 Mark the unmerged commits both "Verified +1" and "Code-Review +2" and
 submit them for merging:
 ----
-  $ ssh -p 29418 review.example.com gerrit review \
-    --verified +1 \
-    --code-review +2 \
-    --submit \
-    --project this/project \
-    $(git rev-list origin/master..HEAD)
+$ ssh -p 29418 review.example.com gerrit review \
+  --verified +1 \
+  --code-review +2 \
+  --submit \
+  --project this/project \
+  $(git rev-list origin/master..HEAD)
 ----
 
 Abandon an active change:
 ----
-  $ ssh -p 29418 review.example.com gerrit review --abandon c0ff33
+$ ssh -p 29418 review.example.com gerrit review --abandon c0ff33
 ----
 
 == SEE ALSO
diff --git a/Documentation/cmd-set-account.txt b/Documentation/cmd-set-account.txt
index 276306e..6808e017 100644
--- a/Documentation/cmd-set-account.txt
+++ b/Documentation/cmd-set-account.txt
@@ -110,7 +110,7 @@
 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
+$ cat ~/.ssh/id_watcher.pub | ssh -p 29418 review.example.com gerrit set-account --add-ssh-key - --add-email mail@example.com watcher
 ----
 
 GERRIT
diff --git a/Documentation/cmd-set-head.txt b/Documentation/cmd-set-head.txt
index f444173..83bdf20 100644
--- a/Documentation/cmd-set-head.txt
+++ b/Documentation/cmd-set-head.txt
@@ -35,7 +35,7 @@
 Change HEAD of project `example` to `stable-2.11` branch:
 
 ----
-    $ ssh -p 29418 review.example.com gerrit set-head example --new-head stable-2.11
+$ ssh -p 29418 review.example.com gerrit set-head example --new-head stable-2.11
 ----
 
 GERRIT
diff --git a/Documentation/cmd-set-members.txt b/Documentation/cmd-set-members.txt
index 5fb2bb9..141cb33 100644
--- a/Documentation/cmd-set-members.txt
+++ b/Documentation/cmd-set-members.txt
@@ -1,7 +1,7 @@
 = gerrit set-members
 
 == NAME
-gerrit set-members - Set group members
+gerrit set-members - Set group members.
 
 == SYNOPSIS
 [verse]
@@ -59,16 +59,16 @@
 Add alice and bob, but remove eve from the groups my-committers and
 my-verifiers.
 ----
-	$ ssh -p 29418 review.example.com gerrit set-members \
-	  -a alice@example.com -a bob@example.com \
-	  -r eve@example.com my-committers my-verifiers
+$ ssh -p 29418 review.example.com gerrit set-members \
+  -a alice@example.com -a bob@example.com \
+  -r eve@example.com my-committers my-verifiers
 ----
 
 Include the group my-friends into the group my-committers, but
 exclude the included group my-testers from the group my-committers.
 ----
-	$ ssh -p 29418 review.example.com gerrit set-members \
-	  -i my-friends -e my-testers my-committers
+$ ssh -p 29418 review.example.com gerrit set-members \
+  -i my-friends -e my-testers my-committers
 ----
 
 GERRIT
diff --git a/Documentation/cmd-set-project-parent.txt b/Documentation/cmd-set-project-parent.txt
index ec5a5c6..801f15a 100644
--- a/Documentation/cmd-set-project-parent.txt
+++ b/Documentation/cmd-set-project-parent.txt
@@ -51,14 +51,14 @@
 Configure `kernel/omap` to inherit permissions from `kernel/common`:
 
 ----
-	$ ssh -p 29418 review.example.com gerrit set-project-parent --parent kernel/common kernel/omap
+$ ssh -p 29418 review.example.com gerrit set-project-parent --parent kernel/common kernel/omap
 ----
 
 Reparent all children of `myParent` to `myOtherParent`:
 
 ----
-	$ ssh -p 29418 review.example.com gerrit set-project-parent \
-	  --children-of myParent --parent myOtherParent
+$ ssh -p 29418 review.example.com gerrit set-project-parent \
+  --children-of myParent --parent myOtherParent
 ----
 
 == SEE ALSO
diff --git a/Documentation/cmd-set-project.txt b/Documentation/cmd-set-project.txt
index 7282e28..45b31ff 100644
--- a/Documentation/cmd-set-project.txt
+++ b/Documentation/cmd-set-project.txt
@@ -105,8 +105,8 @@
 and use 'merge if necessary' as merge strategy:
 
 ----
-    $ ssh -p 29418 review.example.com gerrit set-project example --submit-type MERGE_IF_NECESSARY\
-    --change-id true --content-merge false --project-state HIDDEN
+$ ssh -p 29418 review.example.com gerrit set-project example --submit-type MERGE_IF_NECESSARY \
+  --change-id true --content-merge false --project-state HIDDEN
 ----
 
 GERRIT
diff --git a/Documentation/cmd-set-reviewers.txt b/Documentation/cmd-set-reviewers.txt
index eb4335b..5e367c6 100644
--- a/Documentation/cmd-set-reviewers.txt
+++ b/Documentation/cmd-set-reviewers.txt
@@ -1,7 +1,7 @@
 = gerrit set-reviewers
 
 == NAME
-gerrit set-reviewers - Add or remove reviewers to a change
+gerrit set-reviewers - Add or remove reviewers to a change.
 
 == SYNOPSIS
 [verse]
@@ -56,32 +56,32 @@
 
 Add reviewers alice and bob, but remove eve from change Iac6b2ac2.
 ----
-	$ ssh -p 29418 review.example.com gerrit set-reviewers \
-	  -a alice@example.com -a bob@example.com \
-	  -r eve@example.com \
-	  Iac6b2ac2
+$ ssh -p 29418 review.example.com gerrit set-reviewers \
+  -a alice@example.com -a bob@example.com \
+  -r eve@example.com \
+  Iac6b2ac2
 ----
 
 Add reviewer elvis to old-style change id 1935 specifying that the change is in project "graceland"
 ----
-	$ ssh -p 29418 review.example.com gerrit set-reviewers \
-	  --project graceland \
-	  -a elvis@example.com \
-	  1935
+$ ssh -p 29418 review.example.com gerrit set-reviewers \
+  --project graceland \
+  -a elvis@example.com \
+  1935
 ----
 
 Add all project owners as reviewers to change Iac6b2ac2.
 ----
-	$ ssh -p 29418 review.example.com gerrit set-reviewers \
-	  -a "'Project Owners'" \
-	  Iac6b2ac2
+$ ssh -p 29418 review.example.com gerrit set-reviewers \
+  -a "'Project Owners'" \
+  Iac6b2ac2
 ----
 
 Add all project owners as reviewers to commit 13dff08acca571b22542ebd2e31acf4572ea0b86.
 ----
-	$ ssh -p 29418 review.example.com gerrit set-reviewers \
-	  -a "'Project Owners'" \
-	  13dff08acca571b22542ebd2e31acf4572ea0b86
+$ ssh -p 29418 review.example.com gerrit set-reviewers \
+  -a "'Project Owners'" \
+  13dff08acca571b22542ebd2e31acf4572ea0b86
 ----
 
 GERRIT
diff --git a/Documentation/cmd-show-caches.txt b/Documentation/cmd-show-caches.txt
index 215463b..050118b 100644
--- a/Documentation/cmd-show-caches.txt
+++ b/Documentation/cmd-show-caches.txt
@@ -1,7 +1,7 @@
 = gerrit show-caches
 
 == NAME
-gerrit show-caches - Display current cache statistics
+gerrit show-caches - Display current cache statistics.
 
 == SYNOPSIS
 [verse]
@@ -51,42 +51,42 @@
 == EXAMPLES
 
 ----
-  $ ssh -p 29418 review.example.com gerrit show-caches
-  Gerrit Code Review        2.9                       now   11:14:13   CEST
-                                                   uptime    6 days 20 hrs
-    Name                          |Entries              |  AvgGet |Hit Ratio|
-                                  |   Mem   Disk   Space|         |Mem  Disk|
-  --------------------------------+---------------------+---------+---------+
-    accounts                      |  4096               |   3.4ms | 99%     |
-    adv_bases                     |                     |         |         |
-    changes                       |                     |  27.1ms |  0%     |
-    groups                        |  5646               |  11.8ms | 97%     |
-    groups_bymember               |                     |         |         |
-    groups_byname                 |                     |         |         |
-    groups_bysubgroup             |   230               |   2.4ms | 62%     |
-    groups_byuuid                 |  5612               |  29.2ms | 99%     |
-    groups_external               |     1               |   1.5s  | 98%     |
-    ldap_group_existence          |                     |         |         |
-    ldap_groups                   |   650               | 680.5ms | 99%     |
-    ldap_groups_byinclude         |  1024               |         | 83%     |
-    ldap_usernames                |   390               |   3.8ms | 81%     |
-    permission_sort               | 16384               |         | 99%     |
-    plugin_resources              |                     |         |         |
-    project_list                  |     1               |   3.8s  | 99%     |
-    projects                      |  6477               |   2.9ms | 99%     |
-    sshkeys                       |  2048               |  12.5ms | 99%     |
-  D diff                          |  1299  62033 132.36m|  22.0ms | 85%  99%|
-  D diff_intraline                | 12777 218651 128.45m| 171.1ms | 31%  96%|
-  D git_tags                      |     3      6  11.85k|         |  0% 100%|
-  D web_sessions                  |  1024 151714  59.10m|         | 99%  57%|
+$ ssh -p 29418 review.example.com gerrit show-caches
+Gerrit Code Review        2.9                       now   11:14:13   CEST
+                                                 uptime    6 days 20 hrs
+  Name                          |Entries              |  AvgGet |Hit Ratio|
+                                |   Mem   Disk   Space|         |Mem  Disk|
+--------------------------------+---------------------+---------+---------+
+  accounts                      |  4096               |   3.4ms | 99%     |
+  adv_bases                     |                     |         |         |
+  changes                       |                     |  27.1ms |  0%     |
+  groups                        |  5646               |  11.8ms | 97%     |
+  groups_bymember               |                     |         |         |
+  groups_byname                 |                     |         |         |
+  groups_bysubgroup             |   230               |   2.4ms | 62%     |
+  groups_byuuid                 |  5612               |  29.2ms | 99%     |
+  groups_external               |     1               |   1.5s  | 98%     |
+  ldap_group_existence          |                     |         |         |
+  ldap_groups                   |   650               | 680.5ms | 99%     |
+  ldap_groups_byinclude         |  1024               |         | 83%     |
+  ldap_usernames                |   390               |   3.8ms | 81%     |
+  permission_sort               | 16384               |         | 99%     |
+  plugin_resources              |                     |         |         |
+  project_list                  |     1               |   3.8s  | 99%     |
+  projects                      |  6477               |   2.9ms | 99%     |
+  sshkeys                       |  2048               |  12.5ms | 99%     |
+D diff                          |  1299  62033 132.36m|  22.0ms | 85%  99%|
+D diff_intraline                | 12777 218651 128.45m| 171.1ms | 31%  96%|
+D git_tags                      |     3      6  11.85k|         |  0% 100%|
+D web_sessions                  |  1024 151714  59.10m|         | 99%  57%|
 
-  SSH:    385  users, oldest session started    6 days 20 hrs ago
-  Tasks:   10  total =    6 running +      0 ready +    4 sleeping
-  Mem:  14.94g total =   3.04g used +  11.89g free +  10.00m buffers
-        28.44g max
-           107 open files
+SSH:    385  users, oldest session started    6 days 20 hrs ago
+Tasks:   10  total =    6 running +      0 ready +    4 sleeping
+Mem:  14.94g total =   3.04g used +  11.89g free +  10.00m buffers
+      28.44g max
+         107 open files
 
-  Threads: 4 CPUs available, 371 threads
+Threads: 4 CPUs available, 371 threads
 ----
 
 == SEE ALSO
diff --git a/Documentation/cmd-show-connections.txt b/Documentation/cmd-show-connections.txt
index 2f70e3c..c5274e1 100644
--- a/Documentation/cmd-show-connections.txt
+++ b/Documentation/cmd-show-connections.txt
@@ -1,7 +1,7 @@
 = gerrit show-connections
 
 == NAME
-gerrit show-connections - Display active client SSH connections
+gerrit show-connections - Display active client SSH connections.
 
 == SYNOPSIS
 [verse]
@@ -65,20 +65,20 @@
 
 With reverse DNS lookup (default):
 ----
-	$ ssh -p 29418 review.example.com gerrit show-connections
-	Session     Start     Idle   User            Remote Host
-	--------------------------------------------------------------
-	3abf31e6 20:09:02 00:00:00  jdoe            jdoe-desktop.example.com
-	--
+$ ssh -p 29418 review.example.com gerrit show-connections
+Session     Start     Idle   User            Remote Host
+--------------------------------------------------------------
+3abf31e6 20:09:02 00:00:00  jdoe            jdoe-desktop.example.com
+--
 ----
 
 Without reverse DNS lookup:
 ----
-	$ ssh -p 29418 review.example.com gerrit show-connections -n
-	Session     Start     Idle   User            Remote Host
-	--------------------------------------------------------------
-	3abf31e6 20:09:02 00:00:00  a/1001240       10.0.0.1
-	--
+$ ssh -p 29418 review.example.com gerrit show-connections -n
+Session     Start     Idle   User            Remote Host
+--------------------------------------------------------------
+3abf31e6 20:09:02 00:00:00  a/1001240       10.0.0.1
+--
 ----
 
 GERRIT
diff --git a/Documentation/cmd-show-queue.txt b/Documentation/cmd-show-queue.txt
index 141f7e2..005ffe0 100644
--- a/Documentation/cmd-show-queue.txt
+++ b/Documentation/cmd-show-queue.txt
@@ -1,7 +1,8 @@
 = gerrit show-queue
 
 == NAME
-gerrit show-queue - Display the background work queues, including replication and indexing
+gerrit show-queue - Display the background work queues, including replication
+and indexing.
 
 == SYNOPSIS
 [verse]
@@ -75,13 +76,13 @@
 and `dst2`:
 
 ----
-	$ ssh -p 29418 review.example.com gerrit show-queue
-	Task     State                 Command
-	------------------------------------------------------------------------------
-	7aae09b2 14:31:15.435          mirror dst1:/home/git/tools/gerrit.git
-	9ad09d27 14:31:25.434          mirror dst2:/var/cache/tools/gerrit.git
-	------------------------------------------------------------------------------
-	  2 tasks
+$ ssh -p 29418 review.example.com gerrit show-queue
+Task     State                 Command
+------------------------------------------------------------------------------
+7aae09b2 14:31:15.435          mirror dst1:/home/git/tools/gerrit.git
+9ad09d27 14:31:25.434          mirror dst2:/var/cache/tools/gerrit.git
+------------------------------------------------------------------------------
+2 tasks
 ----
 
 GERRIT
diff --git a/Documentation/cmd-stream-events.txt b/Documentation/cmd-stream-events.txt
index 37af110..08b661d 100644
--- a/Documentation/cmd-stream-events.txt
+++ b/Documentation/cmd-stream-events.txt
@@ -1,6 +1,6 @@
 = gerrit stream-events
 == NAME
-gerrit stream-events - Monitor events occurring in real time
+gerrit stream-events - Monitor events occurring in real time.
 
 == SYNOPSIS
 [verse]
@@ -37,16 +37,16 @@
 == EXAMPLES
 
 ----
-  $ ssh -p 29418 review.example.com gerrit stream-events
-  {"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...}
-  {"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...}
+$ ssh -p 29418 review.example.com gerrit stream-events
+{"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...}
+{"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...}
 ----
 
 Only subscribe to specific event types:
 
 ----
-  $ ssh -p 29418 review.example.com gerrit stream-events \
-      -s patchset-created -s ref-replicated
+$ ssh -p 29418 review.example.com gerrit stream-events \
+   -s patchset-created -s ref-replicated
 ----
 
 == SCHEMA
diff --git a/Documentation/cmd-suexec.txt b/Documentation/cmd-suexec.txt
index 16338ba..9808edc 100644
--- a/Documentation/cmd-suexec.txt
+++ b/Documentation/cmd-suexec.txt
@@ -1,7 +1,7 @@
 = suexec
 
 == NAME
-suexec - Execute a command as any registered user account
+suexec - Execute a command as any registered user account.
 
 == SYNOPSIS
 [verse]
@@ -49,13 +49,13 @@
 
 Approve the change with commit c0ff33 as "Verified +1" as user bob@example.com
 ----
-  $ sudo -u gerrit ssh -p 29418 \
-    -i site_path/etc/ssh_host_rsa_key \
-    "Gerrit Code Review@localhost" \
-    suexec \
-    --as bob@example.com \
-    -- \
-    gerrit approve --verified +1 c0ff33
+$ sudo -u gerrit ssh -p 29418 \
+  -i site_path/etc/ssh_host_rsa_key \
+  "Gerrit Code Review@localhost" \
+  suexec \
+  --as bob@example.com \
+  -- \
+  gerrit approve --verified +1 c0ff33
 ----
 
 GERRIT
diff --git a/Documentation/cmd-test-submit-rule.txt b/Documentation/cmd-test-submit-rule.txt
index b8c4380..33cf2ea 100644
--- a/Documentation/cmd-test-submit-rule.txt
+++ b/Documentation/cmd-test-submit-rule.txt
@@ -29,29 +29,29 @@
 
 Test submit_rule from stdin and return the results as JSON.
 ----
- cat rules.pl | ssh -p 29418 review.example.com gerrit test-submit rule -s I78f2c6673db24e4e92ed32f604c960dc952437d9
- [
-   {
-     "status": "NOT_READY",
-     "reject": {
-       "Any-Label-Name": {}
-     }
-   }
- ]
+cat rules.pl | ssh -p 29418 review.example.com gerrit test-submit rule -s I78f2c6673db24e4e92ed32f604c960dc952437d9
+[
+  {
+    "status": "NOT_READY",
+    "reject": {
+      "Any-Label-Name": {}
+    }
+  }
+]
 ----
 
 Test the active submit_rule from the refs/meta/config branch, ignoring filters in the project parents.
 ----
- $ ssh -p 29418 review.example.com gerrit test-submit rule I78f2c6673db24e4e92ed32f604c960dc952437d9 --no-filters
- [
-   {
-     "status": "NOT_READY",
-     "need": {
-       "Code-Review": {}
-       "Verified": {}
-     }
-   }
- ]
+$ ssh -p 29418 review.example.com gerrit test-submit rule I78f2c6673db24e4e92ed32f604c960dc952437d9 --no-filters
+[
+  {
+    "status": "NOT_READY",
+    "need": {
+      "Code-Review": {}
+      "Verified": {}
+    }
+  }
+]
 ----
 
 == SCRIPTING
diff --git a/Documentation/cmd-test-submit-type.txt b/Documentation/cmd-test-submit-type.txt
index 508684f..48e5e75 100644
--- a/Documentation/cmd-test-submit-type.txt
+++ b/Documentation/cmd-test-submit-type.txt
@@ -29,14 +29,14 @@
 
 Test submit_type from stdin and return the submit type.
 ----
- cat rules.pl | ssh -p 29418 review.example.com gerrit test-submit type -s I78f2c6673db24e4e92ed32f604c960dc952437d9
- "MERGE_IF_NECESSARY"
+cat rules.pl | ssh -p 29418 review.example.com gerrit test-submit type -s I78f2c6673db24e4e92ed32f604c960dc952437d9
+"MERGE_IF_NECESSARY"
 ----
 
 Test the active submit_type from the refs/meta/config branch, ignoring filters in the project parents.
 ----
- $ ssh -p 29418 review.example.com gerrit test-submit type I78f2c6673db24e4e92ed32f604c960dc952437d9 --no-filters
- "MERGE_IF_NECESSARY"
+$ ssh -p 29418 review.example.com gerrit test-submit type I78f2c6673db24e4e92ed32f604c960dc952437d9 --no-filters
+"MERGE_IF_NECESSARY"
 ----
 
 == SCRIPTING
diff --git a/Documentation/cmd-version.txt b/Documentation/cmd-version.txt
index 85b0491..cdfc779 100644
--- a/Documentation/cmd-version.txt
+++ b/Documentation/cmd-version.txt
@@ -1,7 +1,7 @@
 = gerrit version
 
 == NAME
-gerrit version - Show the version of the currently executing Gerrit server
+gerrit version - Show the version of the currently executing Gerrit server.
 
 == SYNOPSIS
 [verse]
@@ -34,8 +34,8 @@
 == EXAMPLES
 
 ----
-	$ ssh -p 29418 review.example.com gerrit version
-	gerrit version 2.4.2
+$ ssh -p 29418 review.example.com gerrit version
+gerrit version 2.4.2
 ----
 
 GERRIT
diff --git a/java/com/google/gerrit/index/project/ProjectSchemaDefinitions.java b/java/com/google/gerrit/index/project/ProjectSchemaDefinitions.java
index 6229041..cefc13c 100644
--- a/java/com/google/gerrit/index/project/ProjectSchemaDefinitions.java
+++ b/java/com/google/gerrit/index/project/ProjectSchemaDefinitions.java
@@ -38,7 +38,9 @@
 
   public static final ProjectSchemaDefinitions INSTANCE = new ProjectSchemaDefinitions();
 
+  public static final String NAME = "projects";
+
   private ProjectSchemaDefinitions() {
-    super("projects", ProjectData.class);
+    super(NAME, ProjectData.class);
   }
 }
diff --git a/java/com/google/gerrit/pgm/BUILD b/java/com/google/gerrit/pgm/BUILD
index b34aec0..0bebad4 100644
--- a/java/com/google/gerrit/pgm/BUILD
+++ b/java/com/google/gerrit/pgm/BUILD
@@ -24,6 +24,7 @@
         "//java/com/google/gerrit/httpd/auth/oauth",
         "//java/com/google/gerrit/httpd/auth/openid",
         "//java/com/google/gerrit/index",
+        "//java/com/google/gerrit/index/project",
         "//java/com/google/gerrit/launcher",
         "//java/com/google/gerrit/lifecycle",
         "//java/com/google/gerrit/lucene",
diff --git a/java/com/google/gerrit/pgm/Init.java b/java/com/google/gerrit/pgm/Init.java
index a93e64c..1739de9 100644
--- a/java/com/google/gerrit/pgm/Init.java
+++ b/java/com/google/gerrit/pgm/Init.java
@@ -14,11 +14,15 @@
 
 package com.google.gerrit.pgm;
 
+import static java.util.stream.Collectors.joining;
+
 import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Sets;
 import com.google.gerrit.common.IoUtil;
 import com.google.gerrit.common.PageLinks;
 import com.google.gerrit.common.PluginData;
+import com.google.gerrit.index.project.ProjectSchemaDefinitions;
 import com.google.gerrit.pgm.init.BaseInit;
 import com.google.gerrit.pgm.init.Browser;
 import com.google.gerrit.pgm.init.InitPlugins;
@@ -55,6 +59,9 @@
   @Option(name = "--no-auto-start", usage = "Don't automatically start daemon after init")
   private boolean noAutoStart;
 
+  @Option(name = "--no-reindex", usage = "Don't automatically reindex any entities")
+  private boolean noReindex;
+
   @Option(name = "--skip-plugins", usage = "Don't install plugins")
   private boolean skipPlugins;
 
@@ -137,6 +144,7 @@
         });
     modules.add(new GerritServerConfigModule());
     Guice.createInjector(modules).injectMembers(this);
+    reindexProjects();
     start(run);
   }
 
@@ -194,7 +202,6 @@
     if (run.flags.autoStart) {
       if (HostPlatform.isWin32()) {
         System.err.println("Automatic startup not supported on Win32.");
-
       } else {
         startDaemon(run);
         if (!run.ui.isBatch()) {
@@ -249,6 +256,25 @@
     }
   }
 
+  private void reindexProjects() throws Exception {
+    if (noReindex) {
+      return;
+    }
+    // Reindex all projects, so that we bootstrap the project index for new installations
+    List<String> reindexArgs =
+        ImmutableList.of(
+            "--site-path",
+            getSitePath().toString(),
+            "--threads",
+            Integer.toString(1),
+            "--index",
+            ProjectSchemaDefinitions.NAME);
+    getConsoleUI().message("Init complete, reindexing projects with:");
+    getConsoleUI().message(" reindex " + reindexArgs.stream().collect(joining(" ")));
+    Reindex reindexPgm = new Reindex();
+    reindexPgm.main(reindexArgs.stream().toArray(String[]::new));
+  }
+
   private static boolean nullOrEmpty(List<?> list) {
     return list == null || list.isEmpty();
   }
diff --git a/javatests/com/google/gerrit/acceptance/pgm/BUILD b/javatests/com/google/gerrit/acceptance/pgm/BUILD
index a91b815..e0d2f86 100644
--- a/javatests/com/google/gerrit/acceptance/pgm/BUILD
+++ b/javatests/com/google/gerrit/acceptance/pgm/BUILD
@@ -13,6 +13,8 @@
     vm_args = ["-Xmx512m"],
     deps = [
         ":util",
+        "//java/com/google/gerrit/index",
+        "//java/com/google/gerrit/index/project",
         "//java/com/google/gerrit/server/schema",
     ],
 )
diff --git a/javatests/com/google/gerrit/acceptance/pgm/InitIT.java b/javatests/com/google/gerrit/acceptance/pgm/InitIT.java
new file mode 100644
index 0000000..a573e35
--- /dev/null
+++ b/javatests/com/google/gerrit/acceptance/pgm/InitIT.java
@@ -0,0 +1,51 @@
+// Copyright (C) 2018 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.gerrit.acceptance.pgm;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.gerrit.acceptance.NoHttpd;
+import com.google.gerrit.acceptance.StandaloneSiteTest;
+import com.google.gerrit.index.IndexConfig;
+import com.google.gerrit.index.QueryOptions;
+import com.google.gerrit.index.project.ProjectData;
+import com.google.gerrit.index.project.ProjectIndexCollection;
+import com.google.gerrit.reviewdb.client.Project;
+import com.google.gerrit.server.config.AllProjectsName;
+import com.google.gerrit.server.config.AllUsersName;
+import java.util.Optional;
+import org.junit.Test;
+
+@NoHttpd
+public class InitIT extends StandaloneSiteTest {
+
+  @Test
+  public void indexesAllProjectsAndAllUsers() throws Exception {
+    runGerrit("init", "-d", sitePaths.site_path.toString(), "--show-stack-trace");
+    try (ServerContext ctx = startServer()) {
+      ProjectIndexCollection projectIndex =
+          ctx.getInjector().getInstance(ProjectIndexCollection.class);
+      Project.NameKey allProjects = ctx.getInjector().getInstance(AllProjectsName.class);
+      Project.NameKey allUsers = ctx.getInjector().getInstance(AllUsersName.class);
+      QueryOptions opts =
+          QueryOptions.create(IndexConfig.createDefault(), 0, 1, ImmutableSet.of("name"));
+      Optional<ProjectData> allProjectsData = projectIndex.getSearchIndex().get(allProjects, opts);
+      assertThat(allProjectsData.isPresent()).isTrue();
+      Optional<ProjectData> allUsersData = projectIndex.getSearchIndex().get(allUsers, opts);
+      assertThat(allUsersData.isPresent()).isTrue();
+    }
+  }
+}
diff --git a/polygerrit-ui/app/elements/settings/gr-edit-preferences/gr-edit-preferences.html b/polygerrit-ui/app/elements/settings/gr-edit-preferences/gr-edit-preferences.html
index 782100e..b3e6990 100644
--- a/polygerrit-ui/app/elements/settings/gr-edit-preferences/gr-edit-preferences.html
+++ b/polygerrit-ui/app/elements/settings/gr-edit-preferences/gr-edit-preferences.html
@@ -35,6 +35,7 @@
               prevent-invalid-input
               allowed-pattern="[0-9]"
               bind-value="{{editPrefs.tab_size}}"
+              on-keypress="_handleEditPrefsChanged"
               on-change="_handleEditPrefsChanged">
         </span>
       </section>
@@ -47,6 +48,7 @@
               prevent-invalid-input
               allowed-pattern="[0-9]"
               bind-value="{{editPrefs.line_length}}"
+              on-keypress="_handleEditPrefsChanged"
               on-change="_handleEditPrefsChanged">
         </span>
       </section>
@@ -59,6 +61,7 @@
               prevent-invalid-input
               allowed-pattern="[0-9]"
               bind-value="{{editPrefs.indent_unit}}"
+              on-keypress="_handleEditPrefsChanged"
               on-change="_handleEditPrefsChanged">
         </span>
       </section>
diff --git a/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.js b/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.js
index dcb428f..3d9d36b 100644
--- a/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.js
+++ b/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.js
@@ -229,7 +229,7 @@
       if (typeof link.url === 'undefined') {
         return '';
       }
-      if (link.target) {
+      if (link.target || !link.url.startsWith('/')) {
         return link.url;
       }
       return this._computeRelativeURL(link.url);
diff --git a/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown_test.html b/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown_test.html
index 456f235..7bb4dce 100644
--- a/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown_test.html
+++ b/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown_test.html
@@ -73,6 +73,12 @@
 
     test('link URLs', () => {
       assert.equal(
+          element._computeLinkURL({url: 'http://example.com/test'}),
+          'http://example.com/test');
+      assert.equal(
+          element._computeLinkURL({url: 'https://example.com/test'}),
+          'https://example.com/test');
+      assert.equal(
           element._computeLinkURL({url: '/test'}),
           '//' + window.location.host + '/test');
       assert.equal(