tests/test-mq-qfold
changeset 12325 5f6231861e09
parent 12323 f00953d9533c
parent 12324 b701610f6c56
child 12326 9d932e8e9546
equal deleted inserted replaced
12323:f00953d9533c 12325:5f6231861e09
     1 #!/bin/sh
       
     2 
       
     3 echo "[extensions]" >> $HGRCPATH
       
     4 echo "mq=" >> $HGRCPATH
       
     5 echo "[mq]" >> $HGRCPATH
       
     6 echo "git=keep" >> $HGRCPATH
       
     7 
       
     8 filterdiff()
       
     9 {
       
    10     grep -v diff | \
       
    11 	sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
       
    12 	-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
       
    13 }
       
    14 
       
    15 filterpatch()
       
    16 {
       
    17     sed -e "s/\(# Parent \).*/\1/"
       
    18 }
       
    19 
       
    20 echo '% init'
       
    21 hg init repo
       
    22 cd repo
       
    23 echo a > a
       
    24 hg ci -Am adda
       
    25 echo a >> a
       
    26 hg qnew -f p1
       
    27 echo b >> a
       
    28 hg qnew -f p2
       
    29 echo c >> a
       
    30 hg qnew -f p3
       
    31 echo '% fold in the middle of the queue'
       
    32 hg qpop p1
       
    33 hg qdiff | filterdiff
       
    34 hg qfold p2
       
    35 grep git .hg/patches/p1 && echo 'git patch found!'
       
    36 hg qser
       
    37 hg qdiff | filterdiff
       
    38 echo '% fold with local changes'
       
    39 echo d >> a
       
    40 hg qfold p3
       
    41 hg diff -c . | filterdiff
       
    42 hg revert -a --no-backup
       
    43 
       
    44 echo '% fold git patch into a regular patch, expect git patch'
       
    45 echo a >> a
       
    46 hg qnew -f regular
       
    47 hg cp a aa
       
    48 hg qnew --git -f git
       
    49 hg qpop
       
    50 hg qfold git
       
    51 cat .hg/patches/regular | filterpatch
       
    52 hg qpop
       
    53 hg qdel regular
       
    54 
       
    55 echo '% fold regular patch into a git patch, expect git patch'
       
    56 hg cp a aa
       
    57 hg qnew --git -f git
       
    58 echo b >> aa
       
    59 hg qnew -f regular
       
    60 hg qpop
       
    61 hg qfold regular
       
    62 cat .hg/patches/git | filterpatch
       
    63 
       
    64 cd ..
       
    65 
       
    66