view tests/test-mv-cp-st-diff @ 6789:c1c202e2d45d

Force email package to be loaded in py2exe With Python 2.5, the email package is not fully loaded by py2exe, due to dynamic imports which are not found by modulefinder. This breaks the patchbomb extension. This patch forces the whole email package to be included so that the dynamic imports work as expected.
author Paul Moore <p.f.moore@gmail.com>
date Tue, 01 Jul 2008 20:17:11 +0100
parents 2d9328a2f81f
children 3f4f14eab085
line wrap: on
line source

#!/bin/sh

add()
{
    echo $2 >> $1
}

hg init t
cd t

# set up a boring main branch
add a a
hg add a
mkdir x
add x/x x
hg add x/x
hg ci -m0

add a m1
hg ci -m1

add a m2
add x/y y1
hg add x/y
hg ci -m2

show()
{
    echo "- $2: $1"
    hg st -C $1
    echo
    hg diff --git $1
    echo
}

count=0
# make a new branch and get diff/status output
# $1 - first commit
# $2 - second commit
# $3 - working dir action
# $4 - test description
tb()
{
    hg co -q -C 0

    add a $count
    count=`expr $count + 1`
    hg ci -m "t0"
    $1
    hg ci -m "t1"
    $2
    hg ci -m "t2"
    $3

    echo "** $4 **"
    echo "** $1 / $2 / $3"
    show "" "working to parent"
    show "--rev 0" "working to root"
    show "--rev 2" "working to branch"
    show "--rev 0 --rev ." "root to parent"
    show "--rev . --rev 0" "parent to root"
    show "--rev 2 --rev ." "branch to parent"
    show "--rev . --rev 2" "parent to branch"
    echo
}


tb "add a a1" "add a a2" "hg mv a b" "rename in working dir"
tb "add a a1" "add a a2" "hg cp a b" "copy in working dir" 
tb "hg mv a b" "add b b1" "add b w" "single rename"
tb "hg cp a b" "add b b1" "add a w" "single copy"
tb "hg mv a b" "hg mv b c" "hg mv c d" "rename chain"
tb "hg cp a b" "hg cp b c" "hg cp c d" "copy chain"
tb "add a a1" "hg mv a b" "hg mv b a" "circular rename"

tb "hg mv x y" "add y/x x1" "add y/x x2" "directory move"