diff --git a/src/setuptools_scm/hg.py b/src/setuptools_scm/hg.py index a85ed42a..dbffb0ae 100644 --- a/src/setuptools_scm/hg.py +++ b/src/setuptools_scm/hg.py @@ -179,6 +179,7 @@ def archival_to_version(data: dict[str, str], config: Configuration) -> ScmVersi data["latesttag"], distance=int(data["latesttagdistance"]), node=node, + branch=data.get("branch"), config=config, ) else: diff --git a/testing/test_mercurial.py b/testing/test_mercurial.py index 63813901..22481623 100644 --- a/testing/test_mercurial.py +++ b/testing/test_mercurial.py @@ -31,11 +31,17 @@ def wd(wd: WorkDir) -> WorkDir: archival_mapping = { "1.0": {"tag": "1.0"}, - "1.1.dev3+h000000000000": { + "1.1.0.dev3+h000000000000": { "latesttag": "1.0", "latesttagdistance": "3", "node": "0" * 20, }, + "1.0.1.dev3+h000000000000": { + "latesttag": "1.0.0", + "latesttagdistance": "3", + "branch": "1.0", + "node": "0" * 20, + }, "0.0": {"node": "0" * 20}, "1.2.2": {"tag": "release-1.2.2"}, "1.2.2.dev0": {"tag": "release-1.2.2.dev"}, @@ -45,7 +51,7 @@ def wd(wd: WorkDir) -> WorkDir: @pytest.mark.parametrize(("expected", "data"), sorted(archival_mapping.items())) def test_archival_to_version(expected: str, data: dict[str, str]) -> None: config = Configuration( - version_scheme="guess-next-dev", local_scheme="node-and-date" + version_scheme="release-branch-semver", local_scheme="node-and-date" ) version = archival_to_version(data, config=config) assert format_version(version) == expected