hooks: Don't run FTL check on merges or backouts (
bug 1422487), r?gps
MozReview-Commit-ID: KUceFOyh4a0
--- a/hghooks/mozhghooks/check/prevent_ftl_changes.py
+++ b/hghooks/mozhghooks/check/prevent_ftl_changes.py
@@ -45,31 +45,34 @@ class FTLCheck(PreTxnChangegroupCheck):
@property
def name(self):
return 'ftl_check'
def relevant(self):
return self.repo_metadata['firefox_releasing']
def pre(self):
- pass
+ self.mergeOrBackout = False
def check(self, ctx):
- if len(ctx.parents()) > 1:
- # Skip merge changesets
- return True
-
- if is_backout(ctx.description()):
- # Ignore backouts
- return True
-
- if any(f.endswith('.ftl') for f in ctx.files()):
- requal = parse_requal_reviewers(ctx.description())
- reviewers = [nick for (name, nick) in FTL_DRIVERS]
- if any(nick in reviewers for nick in requal):
+ if not self.mergeOrBackout:
+ if len(ctx.parents()) > 1:
+ # Skip merge changesets
+ self.mergeOrBackout = True
return True
- print_banner(self.ui, 'error', FTL_COMMIT_FOUND)
- return False
+ if is_backout(ctx.description()):
+ # Ignore backouts
+ self.mergeOrBackout = True
+ return True
+
+ if any(f.endswith('.ftl') for f in ctx.files()):
+ requal = parse_requal_reviewers(ctx.description())
+ reviewers = [nick for (name, nick) in FTL_DRIVERS]
+ if any(nick in reviewers for nick in requal):
+ return True
+
+ print_banner(self.ui, 'error', FTL_COMMIT_FOUND)
+ return False
return True
def post_check(self):
return True