hghooks: add test for hidden heads (
bug 1321371); r?smacleod
This test demonstrates the hook currently incorrectly counts hidden
changesets against the heads count.
MozReview-Commit-ID: 48uLypmRCzB
--- a/hghooks/tests/test-single_head_per_branch.t
+++ b/hghooks/tests/test-single_head_per_branch.t
@@ -104,9 +104,62 @@ A repository with multiple branches can
$ hg push --new-branch ../mozilla-central
pushing to ../mozilla-central
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
+Hidden changesets should not impact head detection.
+
+ $ cd ../mozilla-central
+ $ cat >> .hg/hgrc << EOF
+ > [experimental]
+ > evolution=createmarkers
+ > EOF
+
+ $ hg up default
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ echo hidden1 > file.txt
+ $ hg commit -m 'hidden head 1'
+ $ hg up .^
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ echo hidden2 > file.txt
+ $ hg commit -m 'hidden head 2'
+ created new head
+ $ hg debugobsolete 0e85a332921b9487fc3b6b033653d9b250b1716c
+ $ hg debugobsolete befc484a90fb5120f14f15a65e24e1b84e773e76
+
$ cd ..
+
+ $ hg clone --pull mozilla-central client3
+ requesting all changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 9 changesets with 8 changes to 1 files (+1 heads)
+ updating to branch default
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cd client3
+ $ echo non-hidden > file.txt
+ $ 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 ..