tests/test-merge-halt.t
changeset 34884 05535d0dea68
parent 34797 284fa44f7f39
child 45150 dc5e5577af39
equal deleted inserted replaced
34883:c858afe9c59b 34884:05535d0dea68
    53 
    53 
    54   $ hg rebase --abort
    54   $ hg rebase --abort
    55   rebase aborted
    55   rebase aborted
    56 
    56 
    57 Testing on-failure=prompt
    57 Testing on-failure=prompt
    58   $ echo on-failure=prompt >> $HGRCPATH
    58   $ cat <<EOS >> $HGRCPATH
    59   $ cat <<EOS | hg rebase -s 1 -d 2 --tool false --config ui.interactive=1
    59   > [merge]
       
    60   > on-failure=prompt
       
    61   > [ui]
       
    62   > interactive=1
       
    63   > EOS
       
    64   $ cat <<EOS | hg rebase -s 1 -d 2 --tool false
    60   > y
    65   > y
    61   > n
    66   > n
    62   > EOS
    67   > EOS
    63   rebasing 1:1f28a51c3c9b "c"
    68   rebasing 1:1f28a51c3c9b "c"
    64   merging a
    69   merging a
    75   U b
    80   U b
    76 
    81 
    77   $ hg rebase --abort
    82   $ hg rebase --abort
    78   rebase aborted
    83   rebase aborted
    79 
    84 
       
    85 Check that successful tool with failed post-check halts the merge
       
    86   $ cat <<EOS >> $HGRCPATH
       
    87   > [merge-tools]
       
    88   > true.check=changed
       
    89   > EOS
       
    90   $ cat <<EOS | hg rebase -s 1 -d 2 --tool true
       
    91   > y
       
    92   > n
       
    93   > n
       
    94   > EOS
       
    95   rebasing 1:1f28a51c3c9b "c"
       
    96   merging a
       
    97   merging b
       
    98    output file a appears unchanged
       
    99   was merge successful (yn)? y
       
   100    output file b appears unchanged
       
   101   was merge successful (yn)? n
       
   102   merging b failed!
       
   103   continue merge operation (yn)? n
       
   104   merge halted after failed merge (see hg resolve)
       
   105   [1]
       
   106 
       
   107   $ hg resolve --list
       
   108   R a
       
   109   U b
       
   110 
       
   111   $ hg rebase --abort
       
   112   rebase aborted
       
   113 
       
   114 Check that conflicts with conflict check also halts the merge
       
   115   $ cat <<EOS >> $HGRCPATH
       
   116   > [merge-tools]
       
   117   > true.check=conflicts
       
   118   > true.premerge=keep
       
   119   > [merge]
       
   120   > on-failure=halt
       
   121   > EOS
       
   122   $ hg rebase -s 1 -d 2 --tool true
       
   123   rebasing 1:1f28a51c3c9b "c"
       
   124   merging a
       
   125   merging b
       
   126   merging a failed!
       
   127   merge halted after failed merge (see hg resolve)
       
   128   [1]
       
   129 
       
   130   $ hg resolve --list
       
   131   U a
       
   132   U b
       
   133 
       
   134   $ hg rebase --abort
       
   135   rebase aborted
       
   136 
       
   137 Check that always-prompt also can halt the merge
       
   138   $ cat <<EOS | hg rebase -s 1 -d 2 --tool true --config merge-tools.true.check=prompt
       
   139   > y
       
   140   > n
       
   141   > EOS
       
   142   rebasing 1:1f28a51c3c9b "c"
       
   143   merging a
       
   144   merging b
       
   145   was merge of 'a' successful (yn)? y
       
   146   was merge of 'b' successful (yn)? n
       
   147   merging b failed!
       
   148   merge halted after failed merge (see hg resolve)
       
   149   [1]
       
   150 
       
   151   $ hg resolve --list
       
   152   R a
       
   153   U b
       
   154 
       
   155   $ hg rebase --abort
       
   156   rebase aborted
       
   157 
       
   158 Check that successful tool otherwise allows the merge to continue
       
   159   $ hg rebase -s 1 -d 2 --tool echo --keep --config merge-tools.echo.premerge=keep
       
   160   rebasing 1:1f28a51c3c9b "c"
       
   161   merging a
       
   162   merging b
       
   163   $TESTTMP/repo/a *a~base* *a~other* (glob)
       
   164   $TESTTMP/repo/b *b~base* *b~other* (glob)