diff --git a/hooks/commit-msg b/hooks/commit-msg
new file mode 100755
index 0000000..ecd6a20
--- /dev/null
+++ b/hooks/commit-msg
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+MSG="$1"
+
+# Check for, and add if missing, a unique Change-Id
+#
+add_ChangeId() {
+	if grep '^Change-Id: ' "$MSG" >/dev/null
+	then
+		return
+	fi
+
+	id=$(_gen_ChangeId)
+	out="$MSG.new"
+	ftt="$MSG.footers"
+	sed -e  '/^[A-Za-z][A-Za-z0-9-]*: /,$d' <"$MSG" >"$out"
+	sed -ne '/^[A-Za-z][A-Za-z0-9-]*: /,$p' <"$MSG" >"$ftt"
+	if ! [ -s "$ftt" ]
+	then
+		echo >>"$out"
+	fi
+	echo "Change-Id: I$id" >>"$out"
+	cat "$ftt" >>"$out"
+	mv -f "$out" "$MSG"
+	rm -f "$out" "$ftt"
+}
+_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
+	cat "$MSG"
+}
+_gen_ChangeId() {
+	_gen_ChangeIdInput |
+	git hash-object -t commit --stdin
+}
+
+
+add_ChangeId
diff --git a/project.py b/project.py
index beacc92..89f94f2 100644
--- a/project.py
+++ b/project.py
@@ -1056,13 +1056,27 @@
     if not os.path.exists(hooks):
       os.makedirs(hooks)
     for stock_hook in repo_hooks():
-      dst = os.path.join(hooks, os.path.basename(stock_hook))
+      name = os.path.basename(stock_hook)
+
+      if name in ('commit-msg') and not self.remote.review:
+        # Don't install a Gerrit Code Review hook if this
+        # project does not appear to use it for reviews.
+        #
+        continue
+
+      dst = os.path.join(hooks, name)
+      if os.path.islink(dst):
+        continue
+      if os.path.exists(dst):
+        if filecmp.cmp(stock_hook, dst, shallow=False):
+          os.remove(dst)
+        else:
+          _error("%s: Not replacing %s hook", self.relpath, name)
+          continue
       try:
         os.symlink(relpath(stock_hook, dst), dst)
       except OSError, e:
-        if e.errno == errno.EEXIST:
-          pass
-        elif e.errno == errno.EPERM:
+        if e.errno == errno.EPERM:
           raise GitError('filesystem must support symlinks')
         else:
           raise
