view tests/test-mv-cp-st-diff @ 9881:54b518fc6671

httprepo: suppress the `real URL is...' message in safe, common cases. When the actual and requested URL only differ by trailing slashes, there is no need to warn. As an example, this easily happens when accessing repositories on Bitbucket over HTTP(S). As far as I could tell, there were no existing tests for this behaviour.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Wed, 18 Nov 2009 12:47:58 +0100
parents 3f4f14eab085
children 83cfa1baf8ad
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
cd ..

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 clone t t2 ; cd t2
    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
    cd ..
    rm -rf t2
}


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"