MarkAHershberger has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/133221

Change subject: semantic version support + special casing old versions, offline 
builds, not svn
......................................................................

semantic version support + special casing old versions, offline builds, not svn

* Added support in the newer releases (1.23.0-rc.1 and forward) for
  Semantic Versioning.

  This also involved special casing so that diffs with older versions
  (1.23.0rc0 and before) that didn't use semantic versioning.

* Added support for offline creation of tarballs with "--offline"
  option.  Used this while flying back from Zűrich.

* Switched "trunk" which was left over from svn to "master" for the
  new git awesomeness.

Change-Id: I6fbe8b07572a64204673e2491d56e2199b2df40a
---
M make-release/make-release.py
1 file changed, 36 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/release 
refs/changes/21/133221/1

diff --git a/make-release/make-release.py b/make-release/make-release.py
index f9051f0..01dfb38 100755
--- a/make-release/make-release.py
+++ b/make-release/make-release.py
@@ -165,6 +165,11 @@
         default='tar',
         help='path to tar, we are expecting a GNU tar. (defaults to tar)'
     )
+    parser.add_argument(
+        '--offline', dest='offline',
+        default=False, action='store_true',
+        help='Do not perform actions (e.g. git pull) that require the network'
+    )
 
     return parser.parse_args()
 
@@ -227,8 +232,8 @@
             (?P<major>(?P<major1>\d+)\.(?P<major2>\d+))
             \.
             (?P<minor>\d+)
-            (?:
-                (?P<phase>[A-Za-z]+)
+            (?:-
+                (?P<phase>[A-Za-z]+)\.?
                 (?P<cycle>\d+)
             )?
         """, re.X).match(version)
@@ -247,12 +252,23 @@
         del ret['major1']
         del ret['major2']
 
-        ret['tag'] = 'tags/%s.%s%s%s' % (
-            ret['major'],
-            ret['minor'],
-            ret.get('phase', ''),
-            ret.get('cycle', '')
-        )
+        # Special case for when we switched to semantic versioning
+        if(ret['major'] == "1" and
+           (ret['minor'] < "23" or
+            (ret['minor'] == "23" and ret['phase'] == 'rc' and ret['cycle'] == 
'0'))):
+            ret['tag'] = 'tags/%s.%s%s%s' % (
+                ret['major'],
+                ret['minor'],
+                ret.get('phase', ''),
+                ret.get('cycle', '')
+            )
+        else:
+            ret['tag'] = 'tags/%s.%s-%s.%s' % (
+                ret['major'],
+                ret['minor'],
+                ret.get('phase', ''),
+                ret.get('cycle', '')
+            )
 
         last = m.group(m.lastindex)
         if int(last) == 0:
@@ -371,21 +387,22 @@
                 print "Could not update local repository %s" % repo
                 sys.exit(1)
 
-        if (os.path.exists(dir)):
-            print "Updating " + label + " in " + dir + "..."
-            proc = subprocess.Popen(
-                ['sh', '-c', 'cd ' + dir + '; git fetch -q --all'])
-        else:
-            print "Cloning " + label + " into " + dir + "..."
-            proc = subprocess.Popen(['git', 'clone', '-q', repo, dir])
+        if (self.options.offline == False):
+            if (os.path.exists(dir)):
+                print "Updating " + label + " in " + dir + "..."
+                proc = subprocess.Popen(
+                    ['sh', '-c', 'cd ' + dir + '; git fetch -q --all'])
+            else:
+                print "Cloning " + label + " into " + dir + "..."
+                proc = subprocess.Popen(['git', 'clone', '-q', repo, dir])
 
-        if proc.wait() != 0:
-            print "git clone failed, exiting"
-            sys.exit(1)
+            if proc.wait() != 0:
+                print "git clone failed, exiting"
+                sys.exit(1)
 
         os.chdir(dir)
 
-        if branch != 'trunk':
+        if branch != 'master' and branch != None:
             print "Checking out %s in %s..." % (branch, dir)
             proc = subprocess.Popen(['git', 'checkout', branch])
 

-- 
To view, visit https://gerrit.wikimedia.org/r/133221
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6fbe8b07572a64204673e2491d56e2199b2df40a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: MarkAHershberger <m...@nichework.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to