From da6bbf92ca18ac1d37afd1277d90c7cbc5e2e73f Mon Sep 17 00:00:00 2001 From: Anthony Martin Date: Tue, 4 Jun 2013 15:02:28 -0700 Subject: 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 --- lib/codereview/codereview.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib') 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") -- cgit v1.2.1