view tests/test-mq-qnew @ 11059:ef4aa90b1e58

Move 'findrenames' code into its own file. The next few patches will increase the size of the "findrenames" functionality. This patch simply moves the function into its own file to avoid clutter building up in 'cmdutil.py'.
author David Greenaway <hg-dev@davidgreenaway.com>
date Sat, 03 Apr 2010 11:58:16 +1100
parents 92b8c79b34c2
children 0c944b7af564
line wrap: on
line source

#!/bin/sh

catpatch() {
    cat $1 | sed -e "s/^\(# Parent \).*/\1/"
}

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH

runtest() {
    hg init mq
    cd mq

    echo a > a
    hg ci -Ama

    echo '% qnew should refuse bad patch names'
    hg qnew series
    hg qnew status
    hg qnew guards
    hg qnew .hgignore
    hg qnew .mqfoo
    hg qnew 'foo#bar'
    hg qnew 'foo:bar'

    hg qinit -c

    echo '% qnew with uncommitted changes'
    echo a > somefile
    hg add somefile
    hg qnew uncommitted.patch
    hg st
    hg qseries

    echo '% qnew implies add'
    hg -R .hg/patches st

    echo '% qnew missing'
    hg qnew missing.patch missing

    echo '% qnew -m'
    hg qnew -m 'foo bar' mtest.patch
    catpatch .hg/patches/mtest.patch

    echo '% qnew twice'
    hg qnew first.patch
    hg qnew first.patch

    touch ../first.patch
    hg qimport ../first.patch

    echo '% qnew -f from a subdirectory'
    hg qpop -a
    mkdir d
    cd d
    echo b > b
    hg ci -Am t
    echo b >> b
    hg st
    hg qnew -g -f p
    catpatch ../.hg/patches/p

    echo '% qnew -u with no username configured'
    HGUSER= hg qnew -u blue red
    catpatch ../.hg/patches/red

    echo '% fail when trying to import a merge'
    hg init merge
    cd merge
    touch a
    hg ci -Am null
    echo a >> a
    hg ci -m a
    hg up -r 0
    echo b >> a
    hg ci -m b
    hg merge -f 1
    hg resolve --mark a
    hg qnew -f merge

    cd ../../..
    rm -r mq
}


echo '%%% plain headers'

echo "[mq]" >> $HGRCPATH
echo "plain=true" >> $HGRCPATH

mkdir sandbox
(cd sandbox ; runtest)
rm -r sandbox


echo '%%% hg headers'

echo "plain=false" >> $HGRCPATH

mkdir sandbox
(cd sandbox ; runtest)
rm -r sandbox


exit 0