lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jan...@apache.org
Subject [3/3] lucene-solr:branch_5x: LUCENE-7155: Detect master/major branch using enum, abort on more errors (cherry picked from commit 10c7757)
Date Tue, 12 Apr 2016 10:45:26 GMT
LUCENE-7155: Detect master/major branch using enum, abort on more errors
(cherry picked from commit 10c7757)


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/98caa45c
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/98caa45c
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/98caa45c

Branch: refs/heads/branch_5x
Commit: 98caa45c312e9231517ff1205208d3ac64601ada
Parents: 4c57190
Author: Jan Høydahl <janhoy@apache.org>
Authored: Mon Apr 11 23:22:40 2016 +0200
Committer: Jan Høydahl <janhoy@apache.org>
Committed: Tue Apr 12 12:44:37 2016 +0200

----------------------------------------------------------------------
 dev-tools/scripts/addVersion.py | 18 ++++++++++--------
 dev-tools/scripts/scriptutil.py | 16 ++++++++++------
 2 files changed, 20 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/98caa45c/dev-tools/scripts/addVersion.py
----------------------------------------------------------------------
diff --git a/dev-tools/scripts/addVersion.py b/dev-tools/scripts/addVersion.py
index 6eaf517..ccf1a49 100644
--- a/dev-tools/scripts/addVersion.py
+++ b/dev-tools/scripts/addVersion.py
@@ -19,9 +19,7 @@ sys.path.append(os.path.dirname(__file__))
 from scriptutil import *
 
 import argparse
-import io
 import re
-import subprocess
 
 def update_changes(filename, new_version):
   print('  adding new section to %s...' % filename, end='', flush=True)
@@ -168,18 +166,22 @@ 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='SVN ChangeId for downstream version
change to merge')
+  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 == 'release' or \
-                      c.version.is_minor_release() and c.branch_type == 'stable' or \
-                      c.branch_type == 'major'
+  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
 
-  if c.changeid and c.matching_branch:
-    parser.error('Cannot use --changeid on branch that new version will originate on')
   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
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/98caa45c/dev-tools/scripts/scriptutil.py
----------------------------------------------------------------------
diff --git a/dev-tools/scripts/scriptutil.py b/dev-tools/scripts/scriptutil.py
index 10efd2b..216bde4 100644
--- a/dev-tools/scripts/scriptutil.py
+++ b/dev-tools/scripts/scriptutil.py
@@ -14,11 +14,10 @@
 # limitations under the License.
 
 import argparse
-import io
-import os
 import re
 import subprocess
 import sys
+from enum import Enum
 
 class Version(object):
   def __init__(self, major, minor, bugfix, prerelease):
@@ -95,7 +94,12 @@ def update_file(filename, line_re, edit):
     f.write(''.join(buffer))
   return True
 
-# branch types are "release", "stable" and "trunk"
+# branch types are "release", "stable" and "major"
+class BranchType(Enum):
+  major   = 1
+  stable  = 2
+  release = 3
+
 def find_branch_type():
   output = subprocess.check_output('git status', shell=True)
   for line in output.split(b'\n'):
@@ -106,11 +110,11 @@ def find_branch_type():
     raise Exception('git status missing branch name')
 
   if branchName == b'master':
-    return 'master'
+    return BranchType.major
   if re.match(r'branch_(\d+)x', branchName.decode('UTF-8')):
-    return 'stable'
+    return BranchType.stable
   if re.match(r'branch_(\d+)_(\d+)', branchName.decode('UTF-8')):
-    return 'release'
+    return BranchType.release
   raise Exception('Cannot run bumpVersion.py on feature branch')
 
 version_prop_re = re.compile('version\.base=(.*)')


Mime
View raw message