hghooks: add test for hidden heads (bug 1321371); r?smacleod draft
authorGregory Szorc <gps@mozilla.com>
Wed, 14 Dec 2016 15:53:54 -0800
changeset 10056 7f1af2d417a4c2684cee92d0e8fad15099f09ad0
parent 10055 5514a5068cfe7a9fb917c29c539d509cb81a94d7
child 10057 b10ece27f9234685f4cfd3fafeb41330fb9cfcb2
push id1417
push userbmo:gps@mozilla.com
push dateWed, 14 Dec 2016 23:54:52 +0000
reviewerssmacleod
bugs1321371
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
hghooks/tests/test-single_head_per_branch.t
--- 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 ..