]> Cypherpunks repositories - gostls13.git/commitdiff
codereview: don't warn about secret commits
authorAnthony Martin <ality@pbrane.org>
Tue, 4 Jun 2013 22:02:28 +0000 (15:02 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 4 Jun 2013 22:02:28 +0000 (15:02 -0700)
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://golang.org/cl/7398055

lib/codereview/codereview.py

index f8edbcde008a5bc45504fd5ce95477423cfe7805..6cf99d8a3cbb18dcc79795a0f8674d53f4edf909 100644 (file)
@@ -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")