Index: tools/release/push_to_candidates.py |
diff --git a/tools/release/push_to_candidates.py b/tools/release/push_to_candidates.py |
index 9da0fde1a0a62a6132f8f37abad9f1f1eb032448..6f71a5b851ede917dcd2447f4ae2c2b90a1e5a1e 100755 |
--- a/tools/release/push_to_candidates.py |
+++ b/tools/release/push_to_candidates.py |
@@ -45,9 +45,6 @@ class Preparation(Step): |
self.InitialEnvironmentChecks(self.default_cwd) |
self.CommonPrepare() |
- # Make sure tags are fetched. |
- self.Git("fetch origin +refs/tags/*:refs/tags/*") |
- |
if(self["current_branch"] == self.Config("CANDIDATESBRANCH") |
or self["current_branch"] == self.Config("BRANCHNAME")): |
print "Warning: Script started on branch %s" % self["current_branch"] |
@@ -114,37 +111,29 @@ class DetectLastPush(Step): |
self["last_push_master"] = last_push_master |
-class GetLatestVersion(Step): |
- MESSAGE = "Get latest version from tags." |
+class IncrementVersion(Step): |
+ MESSAGE = "Increment version number." |
def RunStep(self): |
- versions = sorted(filter(VERSION_RE.match, self.vc.GetTags()), |
- key=SortingKey, reverse=True) |
- self.StoreVersion(versions[0], "latest_") |
- self["latest_version"] = self.ArrayToVersion("latest_") |
+ latest_version = self.GetLatestVersion() |
# The version file on master can be used to bump up major/minor at |
# branch time. |
self.GitCheckoutFile(VERSION_FILE, self.vc.RemoteMasterBranch()) |
self.ReadAndPersistVersion("master_") |
- self["master_version"] = self.ArrayToVersion("master_") |
- |
- if SortingKey(self["master_version"]) > SortingKey(self["latest_version"]): |
- self["latest_version"] = self["master_version"] |
- self.StoreVersion(self["latest_version"], "latest_") |
- |
- print "Determined latest version %s" % self["latest_version"] |
+ master_version = self.ArrayToVersion("master_") |
+ # Use the highest version from master or from tags to determine the new |
+ # version. |
+ authoritative_version = sorted( |
+ [master_version, latest_version], key=SortingKey)[1] |
+ self.StoreVersion(authoritative_version, "authoritative_") |
-class IncrementVersion(Step): |
- MESSAGE = "Increment version number." |
- |
- def RunStep(self): |
# Variables prefixed with 'new_' contain the new version numbers for the |
# ongoing candidates push. |
- self["new_major"] = self["latest_major"] |
- self["new_minor"] = self["latest_minor"] |
- self["new_build"] = str(int(self["latest_build"]) + 1) |
+ self["new_major"] = self["authoritative_major"] |
+ self["new_minor"] = self["authoritative_minor"] |
+ self["new_build"] = str(int(self["authoritative_build"]) + 1) |
# Make sure patch level is 0 in a new push. |
self["new_patch"] = "0" |
@@ -153,6 +142,8 @@ class IncrementVersion(Step): |
self["new_minor"], |
self["new_build"]) |
+ print ("Incremented version to %s" % self["version"]) |
+ |
class PrepareChangeLog(Step): |
MESSAGE = "Prepare raw ChangeLog entry." |
@@ -429,7 +420,6 @@ class PushToCandidates(ScriptsBase): |
FreshBranch, |
PreparePushRevision, |
DetectLastPush, |
- GetLatestVersion, |
IncrementVersion, |
PrepareChangeLog, |
EditChangeLog, |