Skip to content

Commit

Permalink
codereview: don't warn about secret commits
Browse files Browse the repository at this point in the history
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
  • Loading branch information
ality authored and bradfitz committed Jun 4, 2013
1 parent 251baea commit 2bcc308
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions lib/codereview/codereview.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = """
Expand Down Expand Up @@ -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")
Expand Down

0 comments on commit 2bcc308

Please sign in to comment.