diff --git a/src/source/cla-individual.md b/src/source/cla-individual.md
index d51ad83..34a1c28 100644
--- a/src/source/cla-individual.md
+++ b/src/source/cla-individual.md
@@ -16,7 +16,7 @@
 
 # Contributor License Agreement for Individuals #
 
-*Please visit the [code review tool](https://review.source.android.com/#settings,new-agreement)
+*Please visit the [code review tool](https://android-review.googlesource.com/#/settings/new-agreement)
 to execute the grant online.This page provides the text of the Individual Contributor License Grant for your quick review.*
 
 In order to clarify the intellectual property license granted with Contributions from any person or entity, the Android Open Source Project (the "Project") must have a Contributor License Grant ("Grant") on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of the Project and the Android Open Source Project Leads (the "Project Leads"); it does not change your rights to use your own Contributions for any other purpose. If you have not already done so, please complete and send an original signed Grant to
@@ -30,7 +30,9 @@
  U.S.A.
 </blockquote>
 
-Scanned agreements may also be emailed in PDF form to cla-submissions@google.com, sent by facsimile to (650) 887-1625, or [signed electronically](https://review.source.android.com/#settings,new-agreement).
+Scanned agreements may also be emailed in PDF form to
+cla-submissions@google.com, sent by facsimile to (650) 887-1625, or
+[signed electronically](https://android-review.googlesource.com/#/settings/new-agreement).
 
 Please read this document carefully before signing and keep a copy for your records.
 
diff --git a/src/source/licenses.md b/src/source/licenses.md
index 74979f9..9d5bc1f 100644
--- a/src/source/licenses.md
+++ b/src/source/licenses.md
@@ -35,7 +35,7 @@
 only on their own behalf) of ideas, code, or documentation to the Android Open
 Source Project will be required to complete, sign, and submit an [Individual
 Contributor License Grant](cla-individual.html). The grant can be executed online through the
-[code review tool](https://review.source.android.com/#settings,agreements). 
+[code review tool](https://android-review.googlesource.com/#/settings/agreements).
 The grant clearly defines the terms under which intellectual
 property has been contributed to the Android Open Source Project. This license
 is for your protection as a contributor as well as the protection of the
diff --git a/src/source/submit-patches.md b/src/source/submit-patches.md
index 037aca4..4ad2e5c 100644
--- a/src/source/submit-patches.md
+++ b/src/source/submit-patches.md
@@ -75,7 +75,10 @@
 
 If you have started multiple branches in the same repository, you will be prompted to select which one(s) to upload.
 
-After a successful upload, repo will provide you the URL of a new page on [r.android.com](http://review.source.android.com). Visit this link to view your patch on the review server, add comments, or request specific reviewers for your patch. 
+After a successful upload, repo will provide you the URL of a new page on
+[Gerrit](https://android-review.googlesource.com/). Visit this link to view
+your patch on the review server, add comments, or request specific reviewers
+for your patch.
 
 ## Uploading a replacement patch ##
 
@@ -147,7 +150,7 @@
     $ repo download TARGET CHANGE
 
 where TARGET is the local directory into which the change should be downloaded and CHANGE is the 
-change number as listed in [Gerrit](https://review.source.android.com/). For more information, 
+change number as listed in [Gerrit](https://android-review.googlesource.com/). For more information,
 see the [Repo reference](/source/using-repo.html).
 
 ## How do I become a Verifier or Approver? ##
diff --git a/src/source/using-repo.md b/src/source/using-repo.md
index f343639..b3bf9bb 100644
--- a/src/source/using-repo.md
+++ b/src/source/using-repo.md
@@ -84,9 +84,16 @@
 
 For the specified projects, Repo compares the local branches to the remote branches updated during the last repo sync. Repo will prompt you to select one or more of the branches that have not yet been uploaded for review.
 
-After you select one or more branches, all commits on the selected branches are transmitted to Gerrit over an SSH connection.You will need to configure an SSH key to enable upload authorization. Visit [SSH Keys](http://review.source.android.com/Gerrit#settings,ssh-keys) within the user settings panel to register your public keys with Gerrit. To enable password-less uploads, consider using ssh-agent on your client system.
+After you select one or more branches, all commits on the selected branches
+are transmitted to Gerrit over an HTTPS connection. You will need to
+configure an HTTPS password to enable upload authorization. Visit the
+[Password Generator](https://android-review.googlesource.com/new-password)
+to generate a new username/password pair to use over HTTPS.
 
-When Gerrit receives the object data over its SSH server, it will turn each commit into a change so that reviewers can comment on each commit individually. To combine several "checkpoint" commits together into a single commit, use git rebase -i before you run repo upload.
+When Gerrit receives the object data over its server, it will turn each
+commit into a change so that reviewers can comment on each commit
+individually. To combine several "checkpoint" commits together into a
+single commit, use git rebase -i before you run repo upload.
 
 If you run repo upload without any arguments, it will search all the projects for changes to upload.
 
@@ -121,13 +128,16 @@
 
 Downloads the specified change from the review system and makes it available in your project's local working directory.
 
-For example, to download [change 1241](http://review.source.android.com/1241) into your platform/frameworks/base directory:
+For example, to download [change 23823](https://android-review.googlesource.com/23823) into your platform/frameworks/base directory:
 
-    $ repo download platform/frameworks/base 1241
+    $ repo download platform/build 23823
 
 A `repo sync` should effectively remove any commits retrieved via `repo download`. Or, you can check out the remote branch; e.g., `git checkout m/master`.
 
-*Note: There is a slight mirroring lag between when a change is visible on the web in [Gerrit](http://review.source.android.com) and when `repo download` will be able to find it, because changes are actually downloaded off the git://android.git.kernel.org/ mirror farm. Hence there will always be a lag of approximately 5 minutes before Gerrit pushes newly uploaded changes out to the mirror farm.*
+*Note: There is a slight mirroring lag between when a change is visible on
+the web in [Gerrit](https://android-review.googlesource.com/) and when
+`repo download` will be able to find it for all users, because of replication
+delays to all servers worldwide.
 
 
 ## forall ##
diff --git a/src/source/version-control.md b/src/source/version-control.md
index 110048a..302fb68 100644
--- a/src/source/version-control.md
+++ b/src/source/version-control.md
@@ -20,7 +20,16 @@
 
 **Git** is an open-source version-control system designed to handle very large projects that are distributed over multiple repositories. In the context of Android, we use Git for local operations such as local branching, commits, diffs, and edits.  One of the challenges in setting up the Android project was figuring out how to best support the outside community--from the hobbiest community to large OEMs building mass-market consumer devices. We wanted components to be replaceable, and we wanted interesting components to be able to grow a life of their own outside of Android. We first chose a distributed revision control system, then further narrowed it down to Git.
 
-**Repo** is a repository management tool that we built on top of Git. Repo unifies the many Git repositories when necessary, does the uploads to our [revision control system](http://review.source.android.com/), and automates parts of the Android development workflow. Repo is not meant to replace Git, only to make it easier to work with Git in the context of Android. The repo command is an executable Python script that you can put anywhere in your path. In working with the Android source files, you will use Repo for across-network operations. For example, with a single Repo command you can download files from multiple repositories into your local working directory.
+**Repo** is a repository management tool that we built on top of Git. Repo
+unifies the many Git repositories when necessary, does the uploads to our
+[revision control system](https://android-review.googlesource.com/), and
+automates parts of the Android development workflow. Repo is not meant to
+replace Git, only to make it easier to work with Git in the context of
+Android. The repo command is an executable Python script that you can put
+anywhere in your path. In working with the Android source files, you will
+use Repo for across-network operations. For example, with a single Repo
+command you can download files from multiple repositories into your local
+working directory.
 
 **Gerrit** is a web-based code review system for projects that use git. Gerrit encourages more centralized use of Git by allowing all authorized users to submit changes, which are automatically merged if they pass code review. In addition, Gerrit makes reviewing easier by displaying changes side by side in-browser and enabling inline comments. 
 
