Patchwork D6879: merge: check argument value with if/raise instead of an assert

login
register
mail settings
Submitter phabricator
Date Sept. 25, 2019, 3:10 p.m.
Message ID <differential-rev-PHID-DREV-vee77sefrqknagiw5yi4-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/41757/
State Superseded
Headers show

Comments

phabricator - Sept. 25, 2019, 3:10 p.m.
durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This shouldn't make any difference for legal code, but it'll prevent
  the assertion from being optimized out if someone decides to do -O on
  our code.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D6879

AFFECTED FILES
  mercurial/merge.py

CHANGE DETAILS




To: durin42, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -1998,10 +1998,15 @@ 
         # updatecheck='abort' to better suppport some of these callers.
         if updatecheck is None:
             updatecheck = UPDATECHECK_LINEAR
-        assert updatecheck in (UPDATECHECK_NONE,
+        if updatecheck not in (UPDATECHECK_NONE,
                                UPDATECHECK_LINEAR,
                                UPDATECHECK_NO_CONFLICT,
-        )
+        ):
+            raise ValueError(r'Invalid updatecheck %r (can accept %r)' % (
+                updatecheck, (UPDATECHECK_NONE,
+                               UPDATECHECK_LINEAR,
+                               UPDATECHECK_NO_CONFLICT,
+                )))
     # If we're doing a partial update, we need to skip updating
     # the dirstate, so make a note of any partial-ness to the
     # update here.