summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAnthony Martin <ality@pbrane.org>2013-06-04 15:02:28 -0700
committerAnthony Martin <ality@pbrane.org>2013-06-04 15:02:28 -0700
commitda6bbf92ca18ac1d37afd1277d90c7cbc5e2e73f (patch)
tree92869e55fd0d5f063d759dfe0aeef6d80ea44bb3 /lib
parentc4cec59f45f5ab62b662fb6bbe32fbf610bc6958 (diff)
downloadgo-da6bbf92ca18ac1d37afd1277d90c7cbc5e2e73f.tar.gz
codereview: don't warn about secret commits
Normally the codereview plugin disables adding new commits when not using the submit command. Unfortunately this makes it impossible to use the Mercurial Queues extension at the same time. A feature called "Phases" was introduced in Mercurial 2.1 that allows marking commits as being secret; this means they will never be pushed to the upstream repository. We can take advantage of this feature to allow the use of Mercurial Queues if the mq.secret option has been set in hgrc(5) and a recent version of Mercurial is used. R=golang-dev, rsc, minux.ma CC=golang-dev https://codereview.appspot.com/7398055 Committer: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/codereview/codereview.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/codereview/codereview.py b/lib/codereview/codereview.py
index f8edbcde0..6cf99d8a3 100644
--- a/lib/codereview/codereview.py
+++ b/lib/codereview/codereview.py
@@ -1028,12 +1028,12 @@ def FindContributor(ui, repo, user=None, warn=True):
hgversion = hg_util.version()
-# We require Mercurial 1.9 and suggest Mercurial 2.0.
+# We require Mercurial 1.9 and suggest Mercurial 2.1.
# The details of the scmutil package changed then,
# so allowing earlier versions would require extra band-aids below.
# Ubuntu 11.10 ships with Mercurial 1.9.1 as the default version.
hg_required = "1.9"
-hg_suggested = "2.0"
+hg_suggested = "2.1"
old_message = """
@@ -1187,6 +1187,10 @@ def hg_commit(ui, repo, *pats, **opts):
commit_okay = False
def precommithook(ui, repo, **opts):
+ if hgversion >= "2.1":
+ from mercurial import phases
+ if repo.ui.config('phases', 'new-commit') >= phases.secret:
+ return False
if commit_okay:
return False # False means okay.
ui.write("\ncodereview extension enabled; use mail, upload, or submit instead of commit\n\n")