tests/test-phases.t
changeset 34711 f6d17075608f
parent 34710 cdf833d7de98
child 34866 1644623ab096
equal deleted inserted replaced
34710:cdf833d7de98 34711:f6d17075608f
   730   6: draft
   730   6: draft
   731   transaction abort!
   731   transaction abort!
   732   rollback completed
   732   rollback completed
   733   abort: pretxnclose hook exited with status 1
   733   abort: pretxnclose hook exited with status 1
   734   [255]
   734   [255]
       
   735 
       
   736 Check that pretxnclose-phase hook can control phase movement
       
   737 
       
   738   $ hg phase --force b3325c91a4d9 --secret
       
   739   test-debug-phase: move rev 3: 0 -> 2
       
   740   test-debug-phase: move rev 4: 0 -> 2
       
   741   test-debug-phase: move rev 5: 1 -> 2
       
   742   test-debug-phase: move rev 7: 0 -> 2
       
   743   test-hook-close-phase: b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e:  0 -> 2
       
   744   test-hook-close-phase: a603bfb5a83e312131cebcd05353c217d4d21dde:  0 -> 2
       
   745   test-hook-close-phase: a030c6be5127abc010fcbff1851536552e6951a8:  1 -> 2
       
   746   test-hook-close-phase: 17a481b3bccb796c0521ae97903d81c52bfee4af:  0 -> 2
       
   747   $ hg log -G -T phases
       
   748   @    changeset:   7:17a481b3bccb
       
   749   |\   tag:         tip
       
   750   | |  phase:       secret
       
   751   | |  parent:      6:cf9fe039dfd6
       
   752   | |  parent:      4:a603bfb5a83e
       
   753   | |  user:        test
       
   754   | |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   755   | |  summary:     merge B' and E
       
   756   | |
       
   757   | o  changeset:   6:cf9fe039dfd6
       
   758   | |  phase:       public
       
   759   | |  parent:      1:27547f69f254
       
   760   | |  user:        test
       
   761   | |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   762   | |  summary:     B'
       
   763   | |
       
   764   o |  changeset:   4:a603bfb5a83e
       
   765   | |  phase:       secret
       
   766   | |  user:        test
       
   767   | |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   768   | |  summary:     E
       
   769   | |
       
   770   o |  changeset:   3:b3325c91a4d9
       
   771   | |  phase:       secret
       
   772   | |  user:        test
       
   773   | |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   774   | |  summary:     D
       
   775   | |
       
   776   o |  changeset:   2:f838bfaca5c7
       
   777   |/   phase:       public
       
   778   |    user:        test
       
   779   |    date:        Thu Jan 01 00:00:00 1970 +0000
       
   780   |    summary:     C
       
   781   |
       
   782   o  changeset:   1:27547f69f254
       
   783   |  phase:       public
       
   784   |  user:        test
       
   785   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   786   |  summary:     B
       
   787   |
       
   788   o  changeset:   0:4a2df7238c3b
       
   789      phase:       public
       
   790      user:        test
       
   791      date:        Thu Jan 01 00:00:00 1970 +0000
       
   792      summary:     A
       
   793   
       
   794 
       
   795 Install a hook that prevent b3325c91a4d9 to become public
       
   796 
       
   797   $ cat >> .hg/hgrc << EOF
       
   798   > [hooks]
       
   799   > pretxnclose-phase.nopublish_D = (echo \$HG_NODE| grep -v b3325c91a4d9>/dev/null) || [ 0 -lt \$HG_PHASE ]
       
   800   > EOF
       
   801 
       
   802 Try various actions. only the draft move should succeed
       
   803 
       
   804   $ hg phase --public b3325c91a4d9
       
   805   transaction abort!
       
   806   rollback completed
       
   807   abort: pretxnclose-phase.nopublish_D hook exited with status 1
       
   808   [255]
       
   809   $ hg phase --public a603bfb5a83e
       
   810   transaction abort!
       
   811   rollback completed
       
   812   abort: pretxnclose-phase.nopublish_D hook exited with status 1
       
   813   [255]
       
   814   $ hg phase --draft 17a481b3bccb
       
   815   test-debug-phase: move rev 3: 2 -> 1
       
   816   test-debug-phase: move rev 4: 2 -> 1
       
   817   test-debug-phase: move rev 7: 2 -> 1
       
   818   test-hook-close-phase: b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e:  2 -> 1
       
   819   test-hook-close-phase: a603bfb5a83e312131cebcd05353c217d4d21dde:  2 -> 1
       
   820   test-hook-close-phase: 17a481b3bccb796c0521ae97903d81c52bfee4af:  2 -> 1
       
   821   $ hg phase --public 17a481b3bccb
       
   822   transaction abort!
       
   823   rollback completed
       
   824   abort: pretxnclose-phase.nopublish_D hook exited with status 1
       
   825   [255]