self.prod.verify()
self.prod.verifyDatabase()
self.prod.verifyTag(options.srv_path)
- self.prod.verifyGit(options.srv_path)
+ try:
+ self.prod.verifyGit(options.srv_path)
+ except deploy.InconsistentWizardTagError:
+ shell.call("git", "fetch")
+ shell.call("git", "fetch", "--tags")
+ shell.call("wizard", "remaster")
+ self.prod.verifyGit(options.srv_path)
+ except deploy.HeadNotDescendantError:
+ shell.call("wizard", "remaster")
+ self.prod.verifyGit(options.srv_path)
if not options.skip_verification:
self.prod.verifyConfigured()
try:
if not compare_tags(self.app_version.pristine_tag):
raise InconsistentPristineTagError(self.app_version.pristine_tag)
if not compare_tags(self.app_version.wizard_tag):
- # XXX Try remastering
+ # Causes remastering
raise InconsistentWizardTagError(self.app_version.wizard_tag)
parent = repo_rev_parse(self.app_version.wizard_tag)
merge_base = shell.safeCall("git", "merge-base", parent, "HEAD", strip=True)
if merge_base != parent:
- # XXX Try remastering
+ # Causes remastering
raise HeadNotDescendantError(self.app_version.wizard_tag)
def verifyConfigured(self):