# HG changeset patch # User Augie Fackler # Date 2019-09-25 15:04:08 # Node ID 71bb9363818cc706d4d30635e754049f172c9ce7 # Parent ee1ef76d7339df90a0816ebbe773869656f46f71 merge: check argument value with if/raise instead of an assert 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. Differential Revision: https://phab.mercurial-scm.org/D6879 diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -1998,10 +1998,15 @@ def update(repo, node, branchmerge, forc # 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.