lucene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sar...@apache.org
Subject [1/2] lucene-solr:branch_6_0: LUCENE-7155: Detect master/major branch using enum, abort on more errors
Date Fri, 13 May 2016 18:01:51 GMT
Repository: lucene-solr
Updated Branches:
  refs/heads/branch_6_0 bcd1789a1 -> 1af681b05


LUCENE-7155: Detect master/major branch using enum, abort on more errors

Conflicts:
	dev-tools/scripts/scriptutil.py


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

Branch: refs/heads/branch_6_0
Commit: 2b2aabb0a768a62c9c153efcb6f2db6ea83bcac7
Parents: bcd1789
Author: Jan H√łydahl <janhoy@apache.org>
Authored: Mon Apr 11 23:22:40 2016 +0200
Committer: Steve Rowe <sarowe@apache.org>
Committed: Fri May 13 13:59:48 2016 -0400

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


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2b2aabb0/dev-tools/scripts/addVersion.py
----------------------------------------------------------------------
diff --git a/dev-tools/scripts/addVersion.py b/dev-tools/scripts/addVersion.py
index 6eaf517..414e4a1 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,23 @@ 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')
+  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
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2b2aabb0/dev-tools/scripts/scriptutil.py
----------------------------------------------------------------------
diff --git a/dev-tools/scripts/scriptutil.py b/dev-tools/scripts/scriptutil.py
index 6a3bcab..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'
-  if branchName.startswith(b'branch_'):
-    return 'stable'
-  if branchName.startswith(b'lucene_solr_'):
-    return 'release'
+    return BranchType.major
+  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')):
+    return BranchType.release
   raise Exception('Cannot run bumpVersion.py on feature branch')
 
 version_prop_re = re.compile('version\.base=(.*)')


Mime
View raw message