LUCENE-7265: Pull change id related code out of addVersion.py; rename 'major' BranchType to 'unstable'

This commit is contained in:
Steve Rowe 2016-05-13 17:06:16 -04:00
parent 1ec6a886f6
commit a9cc7b63d7
2 changed files with 7 additions and 16 deletions

View File

@ -174,23 +174,14 @@ def check_solr_version_tests():
def read_config():
parser = argparse.ArgumentParser(description='Add a new version')
parser.add_argument('version', type=Version.parse)
parser.add_argument('-c', '--changeid', type=str, help='Git ChangeId (commit hash) for downstream version change to merge')
c = parser.parse_args()
c.branch_type = find_branch_type()
c.matching_branch = c.version.is_bugfix_release() and c.branch_type == BranchType.release or \
c.version.is_minor_release() and c.branch_type == BranchType.stable or \
c.version.is_major_release() and c.branch_type == BranchType.major
c.version.is_major_release() and c.branch_type == BranchType.unstable
print ("branch_type is %s " % c.branch_type)
if c.changeid and c.version.is_major_release():
parser.error('Cannot use --changeid for major release')
if c.changeid and c.matching_branch:
parser.error('Cannot use --changeid on branch that new version will originate on')
if c.version.is_bugfix_release() and c.branch_type in [BranchType.major, BranchType.stable] and not c.changeid:
parser.error('Adding bugfix release on master or stable branch requires --changeid')
if c.version.is_minor_release() and c.branch_type in [BranchType.major] and not c.changeid:
parser.error('Adding minor release on master branch requires --changeid')
return c
@ -202,7 +193,7 @@ def main():
update_changes('solr/CHANGES.txt', c.version)
add_constant(c.version, not c.matching_branch)
if not c.changeid:
if c.matching_branch:
print('\nUpdating latest version')
update_build_version(c.version)
update_latest_constant(c.version)

View File

@ -94,11 +94,11 @@ def update_file(filename, line_re, edit):
f.write(''.join(buffer))
return True
# branch types are "release", "stable" and "major"
# branch types are "release", "stable" and "unstable"
class BranchType(Enum):
major = 1
stable = 2
release = 3
unstable = 1
stable = 2
release = 3
def find_branch_type():
output = subprocess.check_output('git status', shell=True)
@ -110,7 +110,7 @@ def find_branch_type():
raise Exception('git status missing branch name')
if branchName == b'master':
return BranchType.major
return BranchType.unstable
if re.match(r'branch_(\d+)x', branchName.decode('UTF-8')):
return BranchType.stable
if re.match(r'branch_(\d+)_(\d+)', branchName.decode('UTF-8')):