tests/test-mq-merge
branchstable
changeset 10775 c52057614c72
parent 10190 9c2c94934f0d
child 11071 2376b4cc52d8
equal deleted inserted replaced
10772:1e819576e926 10775:c52057614c72
     1 #!/bin/sh
     1 #!/bin/sh
     2 
     2 
     3 # Test issue 529 - mq aborts when merging patch deleting files
     3 # Test issue 529 - mq aborts when merging patch deleting files
     4 
       
     5 rewrite_path()
       
     6 {
       
     7     sed -e 's:\\:/:g' -e 's:[^ ]*/t/::g'
       
     8 }
       
     9 
     4 
    10 checkundo()
     5 checkundo()
    11 {
     6 {
    12     if [ -f .hg/store/undo ]; then
     7     if [ -f .hg/store/undo ]; then
    13 	echo ".hg/store/undo still exists after $1"
     8 	echo ".hg/store/undo still exists after $1"
    31 hg qnew rm_a
    26 hg qnew rm_a
    32 hg rm a
    27 hg rm a
    33 hg qrefresh -m "rm a"
    28 hg qrefresh -m "rm a"
    34 
    29 
    35 # Save the patch queue so we can merge it later
    30 # Save the patch queue so we can merge it later
    36 hg qsave -c -e 2>&1 | rewrite_path
    31 hg qsave -c -e 2>&1 | grep -v ^copy
    37 checkundo qsave
    32 checkundo qsave
    38 
    33 
    39 # Update b and commit in an "update" changeset
    34 # Update b and commit in an "update" changeset
    40 hg up -C init
    35 hg up -C init
    41 echo b >> b
    36 echo b >> b
    43 hg ci -m update
    38 hg ci -m update
    44 
    39 
    45 # Here, qpush used to abort with :
    40 # Here, qpush used to abort with :
    46 # The system cannot find the file specified => a
    41 # The system cannot find the file specified => a
    47 hg manifest
    42 hg manifest
    48 hg qpush -a -m 2>&1 | rewrite_path
    43 hg qpush -a -m 2>&1 | grep -v ^merging
    49 checkundo 'qpush -m'
    44 checkundo 'qpush -m'
    50 hg manifest
    45 hg manifest
    51 
    46 
    52 # ensure status is correct after merge
    47 # ensure status is correct after merge
    53 hg qpop -a
    48 hg qpop -a