##// END OF EJS Templates
Do not use osutil.c with python 2.4 and Windows (issue1364)...
Do not use osutil.c with python 2.4 and Windows (issue1364) Windows python 2.4 os.stat() reports times including DST offset, while osutil.c reports the correct value, which makes status() systematically compare files content. This bug is fixed in python 2.5. Using osutil.py instead of osutil.c is 4x times slower on large repositories but current code is completely unusable. Given few people are likely to use python 2.4 on Windows this solution was considered a good trade-off compared to more invasive solutions trying to address the offset issue.

File last commit:

r8167:6c82beaa default
r10521:bde1bb25 stable
Show More
test-rename-merge2
104 lines | 2.6 KiB | text/plain | TextLexer
/ tests / test-rename-merge2
Matt Mackall
merge: copy fixes and tests...
r3252 #!/bin/sh
mkdir -p t
cd t
Alexis S. L. Carvalho
test-rename-merge2: avoid a shell script
r4296 cat <<EOF > merge
import sys, os
f = open(sys.argv[1], "wb")
f.write("merge %s %s %s" % (sys.argv[1], sys.argv[2], sys.argv[3]))
f.close()
Matt Mackall
merge: copy fixes and tests...
r3252 EOF
Alexis S. L. Carvalho
test-rename-merge2: avoid a shell script
r4296 HGMERGE="python ../merge"; export HGMERGE
Matt Mackall
merge: copy fixes and tests...
r3252
# perform a test merge with possible renaming
Thomas Arendsen Hein
Kill trailing spaces
r4659 #
Matt Mackall
merge: copy fixes and tests...
r3252 # args:
# $1 = action in local branch
# $2 = action in remote branch
# $3 = action in working dir
# $4 = expected result
tm()
{
mkdir t
cd t
hg init
echo "[merge]" >> .hg/hgrc
echo "followcopies = 1" >> .hg/hgrc
# base
echo base > a
echo base > rev # used to force commits
hg add a rev
Martin Geisler
tests: removed redundant "-d '0 0'" from test scripts...
r8167 hg ci -m "base"
Matt Mackall
merge: copy fixes and tests...
r3252
# remote
echo remote > rev
if [ "$2" != "" ] ; then $2 ; fi
Martin Geisler
tests: removed redundant "-d '0 0'" from test scripts...
r8167 hg ci -m "remote"
Matt Mackall
merge: copy fixes and tests...
r3252
# local
hg co -q 0
echo local > rev
if [ "$1" != "" ] ; then $1 ; fi
Martin Geisler
tests: removed redundant "-d '0 0'" from test scripts...
r8167 hg ci -m "local"
Matt Mackall
merge: copy fixes and tests...
r3252
# working dir
echo local > rev
if [ "$3" != "" ] ; then $3 ; fi
# merge
echo "--------------"
echo "test L:$1 R:$2 W:$3 - $4"
echo "--------------"
Alexis S. L. Carvalho
test-rename-merge2: avoid a shell script
r4296 hg merge -y --debug --traceback
Matt Mackall
merge: copy fixes and tests...
r3252
echo "--------------"
hg status -camC -X rev
Martin Geisler
tests: removed redundant "-d '0 0'" from test scripts...
r8167 hg ci -m "merge"
Thomas Arendsen Hein
Kill trailing spaces
r4659
Matt Mackall
merge: copy fixes and tests...
r3252 echo "--------------"
echo
cd ..
Thomas Arendsen Hein
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
r3988 rm -r t
Matt Mackall
merge: copy fixes and tests...
r3252 }
Thomas Arendsen Hein
Kill trailing spaces
r4659 up() {
Matt Mackall
merge: copy fixes and tests...
r3252 cp rev $1
hg add $1 2> /dev/null
Thomas Arendsen Hein
Kill trailing spaces
r4659 if [ "$2" != "" ] ; then
Matt Mackall
merge: copy fixes and tests...
r3252 cp rev $2
hg add $2 2> /dev/null
fi
}
uc() { up $1; hg cp $1 $2; } # update + copy
um() { up $1; hg mv $1 $2; }
nc() { hg cp $1 $2; } # just copy
nm() { hg mv $1 $2; } # just move
tm "up a " "nc a b" " " "1 get local a to b"
tm "nc a b" "up a " " " "2 get rem change to a and b"
tm "up a " "nm a b" " " "3 get local a change to b, remove a"
tm "nm a b" "up a " " " "4 get remote change to b"
tm " " "nc a b" " " "5 get b"
tm "nc a b" " " " " "6 nothing"
tm " " "nm a b" " " "7 get b"
tm "nm a b" " " " " "8 nothing"
tm "um a b" "um a b" " " "9 do merge with ancestor in a"
#tm "um a c" "um x c" " " "10 do merge with no ancestor"
tm "nm a b" "nm a c" " " "11 get c, keep b"
tm "nc a b" "up b " " " "12 merge b no ancestor"
tm "up b " "nm a b" " " "13 merge b no ancestor"
tm "nc a b" "up a b" " " "14 merge b no ancestor"
tm "up b " "nm a b" " " "15 merge b no ancestor, remove a"
tm "nc a b" "up a b" " " "16 get a, merge b no ancestor"
Thomas Arendsen Hein
Kill trailing spaces
r4659 tm "up a b" "nc a b" " " "17 keep a, merge b no ancestor"
Matt Mackall
merge: copy fixes and tests...
r3252 tm "nm a b" "up a b" " " "18 merge b no ancestor"
tm "up a b" "nm a b" " " "19 merge b no ancestor, prompt remove a"
tm "up a " "um a b" " " "20 merge a and b to b, remove a"
tm "um a b" "up a " " " "21 merge a and b to b"
#tm "nm a b" "um x a" " " "22 get a, keep b"
tm "nm a b" "up a c" " " "23 get c, keep b"