# HG changeset patch # User Anton Shestakov # Date 1674915988 -14400 # Node ID 566f7dd563c19d3ca535c140fd1e41208fedf156 # Parent c3a76efd0b1cd8432c040c240669b45cef72cb1f scmutil: make checknewlabel() allow "_" in otherwise numeric names (issue6737) diff -r c3a76efd0b1c -r 566f7dd563c1 mercurial/scmutil.py --- a/mercurial/scmutil.py Mon Jan 09 17:48:54 2023 +0100 +++ b/mercurial/scmutil.py Sat Jan 28 18:26:28 2023 +0400 @@ -278,6 +278,11 @@ ) try: int(lbl) + if b'_' in lbl: + # If label contains underscores, Python might consider it an + # integer (with "_" as visual separators), but we do not. + # See PEP 515 - Underscores in Numeric Literals. + raise ValueError raise error.InputError(_(b"cannot use an integer as a name")) except ValueError: pass diff -r c3a76efd0b1c -r 566f7dd563c1 tests/test-branches.t --- a/tests/test-branches.t Mon Jan 09 17:48:54 2023 +0100 +++ b/tests/test-branches.t Sat Jan 28 18:26:28 2023 +0400 @@ -82,6 +82,11 @@ (use 'hg update' to switch to it) [10] +underscores in numeric branch names (issue6737) + + $ hg branch 2700_210 + marked working directory as branch 2700_210 + verify update will accept invalid legacy branch names $ hg init test-invalid-branch-name