summaryrefslogtreecommitdiff
path: root/lib/codereview
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2012-01-29 12:33:13 -0500
committerRuss Cox <rsc@golang.org>2012-01-29 12:33:13 -0500
commitb7d8a2c216e0b1916d6749948f8ff5f63ad82a22 (patch)
treed167372706d2edeb52b7de831eeee54dd323da36 /lib/codereview
parente783e9ee47804dbd6d8d48a0b99570060b478231 (diff)
downloadgo-b7d8a2c216e0b1916d6749948f8ff5f63ad82a22.tar.gz
codereview: die if initialized twice
If this happens, something is misconfigured. If we don't test for this explicitly, MatchAt ends up calling itself recursively forever. R=golang-dev, r CC=golang-dev http://codereview.appspot.com/5576066
Diffstat (limited to 'lib/codereview')
-rw-r--r--lib/codereview/codereview.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/codereview/codereview.py b/lib/codereview/codereview.py
index 5730bc2a8..1957d7cbb 100644
--- a/lib/codereview/codereview.py
+++ b/lib/codereview/codereview.py
@@ -2171,10 +2171,21 @@ def norollback(*pats, **opts):
"""(disabled when using this extension)"""
raise hg_util.Abort("codereview extension enabled; use undo instead of rollback")
+codereview_init = False
+
def reposetup(ui, repo):
global codereview_disabled
global defaultcc
+ global codereview_init
+ if codereview_init:
+ raise hg_util.Abort("codereview extension initialized twice")
+ codereview_init = True
+
+ remote = ui.config("paths", "default", "")
+ if remote.find("://") < 0:
+ raise hg_util.Abort("codereview: default path '%s' is not a URL" % (remote,))
+
# Read repository-specific options from lib/codereview/codereview.cfg or codereview.cfg.
root = ''
try: