diff --git a/.gitignore b/.gitignore
index ae8348c..8957273 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,27 +1,23 @@
-(^|/)CVS($|/)
-(^|/)\.hg($|/)
-(^|/)\.hgtags($|/)
-^plan9.log$
-^plan9-reverse.log$
-^state$
-^state.old$
-^state.journal$
-\.o$
-\.a$
-^man/man[0-9]+/.*\.html$
-^src/.*/o\.[^/]+$
-y.tab.[ch]$
-^src/cmd/rc/x.tab.h$
-^unix/.*\.tgz$
-^bin/
-^log/
-^dict/
-^postscript/font/
-\.orig$
+plan9.log
+plan9-reverse.log
+state
+state.old
+state.journal
+*.o
+*.a
+man/man?/*.html
+src/**/o.*
+y.tab.[ch]
+src/cmd/rc/x.tab.h
+unix/*.tgz
+bin/
+log/
+dict/
+postscript/font/
+*.orig
 config
 install.log
 install.sum
 last-change
-lib/codereview/codereview.pyc
 src/cmd/awk/y.output
 src/cmd/devdraw/latin1.h
diff --git a/bin/codereview b/bin/codereview
index 5339d56..307091a 100755
--- a/bin/codereview
+++ b/bin/codereview
Binary files differ
diff --git a/lib/git/commit-msg.hook b/lib/git/commit-msg.hook
new file mode 100755
index 0000000..985016b
--- /dev/null
+++ b/lib/git/commit-msg.hook
@@ -0,0 +1,104 @@
+#!/bin/sh
+# From Gerrit Code Review 2.2.1
+#
+# Part of Gerrit Code Review (http://code.google.com/p/gerrit/)
+#
+# Copyright (C) 2009 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.
+#
+
+CHANGE_ID_AFTER="Bug|Issue"
+MSG="$1"
+
+# Check for, and add if missing, a unique Change-Id
+#
+add_ChangeId() {
+	clean_message=`sed -e '
+		/^diff --git a\/.*/{
+			s///
+			q
+		}
+		/^Signed-off-by:/d
+		/^#/d
+	' "$MSG" | git stripspace`
+	if test -z "$clean_message"
+	then
+		return
+	fi
+
+	if grep -i '^Change-Id:' "$MSG" >/dev/null
+	then
+		return
+	fi
+
+	id=`_gen_ChangeId`
+	perl -e '
+		$MSG = shift;
+		$id = shift;
+		$CHANGE_ID_AFTER = shift;
+
+		undef $/;
+		open(I, $MSG); $_ = <I>; close I;
+		s|^diff --git a/.*||ms;
+		s|^#.*$||mg;
+		exit unless $_;
+
+		@message = split /\n/;
+		$haveFooter = 0;
+		$startFooter = @message;
+		for($line = @message - 1; $line >= 0; $line--) {
+			$_ = $message[$line];
+
+			if (/^[a-zA-Z0-9-]+:/ && !m,^[a-z0-9-]+://,) {
+				$haveFooter++;
+				next;
+			}
+			next if /^[ []/;
+			$startFooter = $line if ($haveFooter && /^\r?$/);
+			last;
+		}
+
+		@footer = @message[$startFooter+1..@message];
+		@message = @message[0..$startFooter];
+		push(@footer, "") unless @footer;
+
+		for ($line = 0; $line < @footer; $line++) {
+			$_ = $footer[$line];
+			next if /^($CHANGE_ID_AFTER):/i;
+			last;
+		}
+		splice(@footer, $line, 0, "Change-Id: I$id");
+
+		$_ = join("\n", @message, @footer);
+		open(O, ">$MSG"); print O; close O;
+	' "$MSG" "$id" "$CHANGE_ID_AFTER"
+}
+_gen_ChangeIdInput() {
+	echo "tree `git write-tree`"
+	if parent=`git rev-parse HEAD^0 2>/dev/null`
+	then
+		echo "parent $parent"
+	fi
+	echo "author `git var GIT_AUTHOR_IDENT`"
+	echo "committer `git var GIT_COMMITTER_IDENT`"
+	echo
+	printf '%s' "$clean_message"
+}
+_gen_ChangeId() {
+	_gen_ChangeIdInput |
+	git hash-object -t commit --stdin
+}
+
+
+add_ChangeId
diff --git a/man/man1/codereview.1 b/man/man1/codereview.1
index 86d07b2..0b713c4 100644
--- a/man/man1/codereview.1
+++ b/man/man1/codereview.1
@@ -2,70 +2,154 @@
 .SH NAME
 codereview \- review of submitted changes (experimental)
 .SH SYNOPSIS
-.B hg
+.B git
 .B diff
+.B HEAD
 .I path ...
 .PP
 .B codereview
-.I path ...
+[
+.B -v
+]
+.B create
+.I name
+[
+.B -a
+]
 .PP
 .B codereview
-.B -i
-.I issue
-.I path ...
+[
+.B -v
+]
+.B commit
+[
+.B -a
+]
+.PP
+.B codereview
+[
+.B -v
+]
+.B upload
+.PP
+.B codereview
+[
+.B -v
+]
+.B pending
+.PP
+.B codereview
+[
+.B -v
+]
+.B sync
 .SH DESCRIPTION
 .I Codereview
-uploads suggested changes to the code review server
-.I codereview.appspot.com
-and sends email to reviewers.
+manages the review and submission of changes to the Plan 9 from User Space project.
 It must be used from within a Plan 9 from User Space tree
-checked out via Mercurial
+checked out via Git
 (see
-.IR hg (1)).
+.IR git (1)).
 .PP
-A developer makes changes to a local copy of the tree
-and reviews them locally using 
-.I hg
-.I diff .
-When the changes are ready for external review, the 
-developer creates a review issue by running
+A developer makes changes to a local copy of the tree,
+reviews them by using
+.I git
+.I diff
+.IR HEAD 
+and then commits them to a ``feature branch''
+using
 .I codereview
-naming the files to be reviewed.
-.I Codereview
-prompts for a Google Accounts user name
-and password to log in to 
-.I http://codereview.appspot.com/
-and create a new review issue.
-Once created, it prints a line like
-.EX
-Issue created. URL: http://codereview.appspot.com/96161
-.EE
-among other output.
-.PP
-The reviewer will likely respond with comments
-and suggestions for improving the submission.
-After making the changes, reupload by repeating
-the 
+.IR create .
+.I Git
+requires that changes be added to a ``staging area'' before the initial commit,
+using commands such as
+.I git
+.I add
+and
+.I git
+.IR rm .
+The 
+.B -a
+option causes
 .I codereview
-command with the
-.B -i
-option to specify the issue number
-(in the above example, 96161).
+.I create
+to add all local modifications to the staging area as part of the initial commit.
 .PP
-Once the reviewer accepts the changes, they will be applied
-automatically using the patch uploaded to the review server.
-To update the local tree, run 
-.I hg
-.I pull
-with the
-.B -u
-option.
-.SH SEE ALSO
-.HR http://codereview.appspot.com/
-.SH BUGS
+Once a feature branch is created, files can still be edited, but they must then be
+incorporated into the change by using
+.I codereview
+.IR commit .
+.PP
+If other changes have been committed since the feature branch was created,
+.I codereview
+.I sync
+will update it to be based on the most recent copy of the repository.
+.PP
+When the code is ready for review,
+.I codereview
+.I upload
+uploads the change to 
+.HR https://plan9port-review.googlesource.com/
+for review.
+In order to upload, 
+.I git
+must have access to a 
+.I $HOME/.netrc
+that contains a password obtained from
+.HR https://plan9port-review.googlesource.com/#/settings/http-password .
+.PP
+The most likely initial result of a code review is suggestions for
+improving the code.
+After making those changes, repeat the
+.I codereview
+.I commit
+and 
+.I codereview
+.I upload
+steps.
+.PP
+Once the code is ready, it will be submitted by the reviewer using the web interface.
+At that point,
+.I codereview
+.I sync
+.PP
 The
 .I codereview
-command should be replaced by a proper Mercurial extension.
+.I pending
+command lists the active feature branches.
 .PP
-Making changes to the repository via patches
-discards the executable bit on new shell scripts.
+All the
+.I codereview
+commands take a leading
+.B -v
+option, which causes them to print
+.I git
+commands being executed.
+This can be useful for debugging
+.IR codereview .
+.PP
+The
+.I codereview
+command depends on a 
+.I git
+``commit hook''
+script being in place to add
+.L Change-Id
+lines to the commit messages.
+.I Codereview
+installs the hook at startup, if necessary,
+by adding a symbolic link from
+.B $PLAN9/.git/hooks/commit-msg
+to
+.BR $PLAN9/lib/git/commit-msg.hook .
+.SH SEE ALSO
+.IR git (1),
+.HR http://plan9port-review.googlesource.com/
+.SH BUGS
+.I Git
+is too complicated to use.
+The 
+.I codereview
+script helps, but a working understanding of
+.I git
+is still required.
diff --git a/man/man1/git.1 b/man/man1/git.1
new file mode 100644
index 0000000..2cedace
--- /dev/null
+++ b/man/man1/git.1
@@ -0,0 +1,89 @@
+.TH HG 1
+.SH NAME 
+git, hg, cvs \- introduction to using plan9port Git repository
+.SH SYNOPSIS
+.B git
+.B clone
+.B http://code.swtch.com/plan9port
+.B plan9
+.PP
+.B git
+.B pull
+.PP
+.B git
+.B diff
+.I revision
+[
+.I path ...
+]
+.PP
+.B gitk 
+.PP
+.B web
+.B http://code.swtch.com/plan9port
+.SH DESCRIPTION
+The master source tree for Plan 9 from User Space is maintained
+using the source control system Git
+as a substitute for Plan 9's
+\fIreplica\fR(8) and dump file system.
+.PP
+The first argument to
+.I git
+is a command, which determines the form of the rest of the command line.
+.PP
+The
+.B clone
+command downloads a copy of the tree into the directory
+.BR plan9 ,
+which it will create.
+After
+.B git
+.BR clone ,
+the other commands listed 
+should be run within the
+.B plan9
+directory tree.
+.PP
+Git downloads the entire revision history
+of Plan 9 from User Space 
+in addition to the current tree.
+.PP
+.I Git
+.I pull
+incorporates changes from the master repository
+into the local revision history and applies them to the
+current file tree.
+.PP
+.I Git
+.I diff
+runs Unix's
+.IR diff (1)
+to compare the files in the local tree with the corresponding
+files in the revision history.
+The special revision
+.B HEAD
+refers to the most recent version in the version history.
+.PP
+.I Gitk
+starts an interactive history viewer.
+.PP
+The Git tree can be inspected on the web at
+.HR http://code.swtch.com/plan9port/ "" .
+.SH FILES
+.TP
+.B \*9/.git
+directory containing Mercurial local repository
+.TP
+.B .gitignore
+list of files and wildcards to exclude from Git operations
+.SH SEE ALSO
+.IR codereview (1)
+.PP
+Unix's
+\fIgit\fR(1),
+.HR http://git-scm.com/doc
+.PP
+.HR http://code.swtch.com/plan9port/
+.SH BUGS
+Plan 9 from User Space is no longer accessible using CVS or Mercurial;
+you must use Git.
diff --git a/man/man1/hg.1 b/man/man1/hg.1
deleted file mode 100644
index b46dfc1..0000000
--- a/man/man1/hg.1
+++ /dev/null
@@ -1,111 +0,0 @@
-.TH HG 1
-.SH NAME 
-hg, cvs \- introduction to using plan9port Mercurial repository
-.SH SYNOPSIS
-.B hg
-.B clone
-.B http://code.swtch.com/plan9port
-.B plan9
-.PP
-.B hg
-.B pull
-.B -u
-.PP
-.B hg
-.B diff
-[
-.B -r
-.I revision
-]
-[
-.I path ...
-]
-.PP
-.B hg 
-.B serve
-.PP
-.B hg 
-.B view
-.PP
-.B web
-.B http://code.swtch.com/plan9port
-.SH DESCRIPTION
-The master source tree for Plan 9 from User Space is maintained
-using the source control system Mercurial
-as a substitute for Plan 9's
-\fIreplica\fR(8) and dump file system.
-.PP
-The first argument to
-.I hg
-is a command, which determines the form of the rest of the command line.
-.PP
-The
-.B clone
-command downloads a copy of the tree into the directory
-.BR plan9 ,
-which it will create.
-After
-.B hg
-.BR clone ,
-the other commands listed 
-should be run within the
-.B plan9
-directory tree.
-.PP
-Unlike CVS, Mercurial downloads the entire revision history
-of Plan 9 from User Space 
-in addition to the current tree.
-.PP
-.I Hg
-.I pull
-incorporates changes from the master repository
-into the local revision history.
-The 
-.B -u
-flag applies these changes to the current file tree.
-.PP
-.I Hg
-.I diff
-runs Unix's
-.IR diff (1)
-to compare the files in the local tree with the corresponding
-files in the revision history.
-By default it compares against the version that was most recently
-incorporated into the local tree.
-The
-.B -r
-flag specifies an alternate version to compare against.
-The special revision
-.B tip
-refers to the most recent version on the server.
-.PP
-.I Hg
-.I serve
-starts an HTTP server serving information about
-the local repository at the address
-.BR http://localhost:8000/ .
-.PP
-.I Hg
-.I view
-starts an interactive history viewer.
-.PP
-The Mercurial tree can be inspected on the web at
-.HR http://code.swtch.com/plan9port/ "" .
-.SH FILES
-.TP
-.B \*9/.hg
-directory containing Mercurial local repository
-.TP
-.B .hgignore
-list of files and wildcards to exclude from Mercurial operations
-.SH SEE ALSO
-.IR codereview (1)
-.PP
-Unix's
-\fIhg\fR(1),
-.HR http://www.selenic.com/mercurial/wiki/
-.PP
-.HR http://code.swtch.com/plan9port/
-.SH BUGS
-Plan 9 from User Space is no longer accessible using CVS;
-you must use Mercurial.
