(self)
| 540 | return None |
| 541 | |
| 542 | def GetLatestVersion(self): |
| 543 | # Use cached version if available. |
| 544 | if self["latest_version"]: |
| 545 | return self["latest_version"] |
| 546 | |
| 547 | # Make sure tags are fetched. |
| 548 | self.Git("fetch origin +refs/tags/*:refs/tags/*") |
| 549 | |
| 550 | all_tags = self.vc.GetTags() |
| 551 | only_version_tags = NormalizeVersionTags(all_tags) |
| 552 | |
| 553 | def patched_dev_version(tag): |
| 554 | """True if this tag represents a patched dev or mini branch.""" |
| 555 | parts = tag.split('.') |
| 556 | return len(parts) >= 3 and int(parts[2]) > 999 |
| 557 | |
| 558 | filtered_version_tags = [ |
| 559 | tag for tag in only_version_tags if not patched_dev_version(tag)] |
| 560 | |
| 561 | version = sorted(filtered_version_tags, |
| 562 | key=LooseVersion, reverse=True)[0] |
| 563 | self["latest_version"] = version |
| 564 | return version |
| 565 | |
| 566 | def GetLatestRelease(self): |
| 567 | """The latest release is the git hash of the latest tagged version. |
no test coverage detected