hghooks: filter out hidden changesets (
bug 1321371); r?smacleod
This makes the hook work properly when a repository has hidden
changesets.
MozReview-Commit-ID: GLLk8FGz2Gg
--- a/hghooks/mozhghooks/single_head_per_branch.py
+++ b/hghooks/mozhghooks/single_head_per_branch.py
@@ -25,16 +25,20 @@ def hook(ui, repo, source=None, **kwargs
for node in heads:
ctx = repo[node]
# Filter closed branch heads.
if ctx.closesbranch():
continue
+ # Hidden changesets shouldn't matter.
+ if ctx.hidden():
+ continue
+
newheads.append(node)
if len(newheads) > 1:
print "\n\n************************** ERROR ****************************"
print "Multiple heads detected on branch '%s'" % branch
print "Only one head per branch is allowed!"
print "*************************************************************\n\n"
return 1
--- a/hghooks/tests/test-single_head_per_branch.t
+++ b/hghooks/tests/test-single_head_per_branch.t
@@ -144,22 +144,10 @@ Hidden changesets should not impact head
$ hg commit -m 'commit after hidden'
$ hg push
pushing to $TESTTMP/mozilla-central
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
-
-
- ************************** ERROR ****************************
- Multiple heads detected on branch 'default'
- Only one head per branch is allowed!
- *************************************************************
-
-
- transaction abort!
- rollback completed
- abort: pretxnchangegroup.b_singlehead hook failed
- [255]
$ cd ..