1#!/usr/bin/python3
2
3from git import Repo
4import re
5import sys
6
7version = sys.argv[1]
8
9repo = Repo()
10
11tag = repo.git.describe(tags = True, abbrev=0)
12m = re.match('llvmorg-([0-9]+)\.([0-9]+)\.([0-9]+)', tag)
13
14if m:
15    expected_major = m.group(1)
16    expected_minor = m.group(2)
17    expected_patch = int(m.group(3)) + 1
18else:
19    # If the previous tag is llvmorg-X-init, then we should be at version X.0.0.
20    m = re.match('llvmorg-([0-9]+)-init', tag)
21    if not m:
22        print("error: Tag is not valid: ", tag)
23        sys.exit(1)
24    expected_major = m.group(1)
25    expected_minor = 0
26    expected_patch = 0
27
28expected_version = f"{expected_major}.{expected_minor}.{expected_patch}"
29
30m = re.match("[0-9]+\.[0-9]+\.[0-9]+", version)
31if not m:
32    print("error: Version is not valid: ", version)
33    sys.exit(1)
34
35if version != expected_version:
36    print("error: Expected version", expected_version, "but found version", version)
37    sys.exit(1)
38
39print("Versions match:", version, expected_version)
40sys.exit(0)
41