##// END OF EJS Templates
fix traceback in hgweb when URL doesn't end in one of the archive specs...
fix traceback in hgweb when URL doesn't end in one of the archive specs If the last n charecters of the URL doesn't match an entry in archive_specs req.form never has a key 'type'. When achive() looks up 'type' in the form dict it causes a traceback rather than printing an error message.

File last commit:

r4659:7a7d4937 default
r6669:782dbbdf default
Show More
test-rename-merge2
104 lines | 2.7 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
hg ci -m "base" -d "0 0"
# remote
echo remote > rev
if [ "$2" != "" ] ; then $2 ; fi
hg ci -m "remote" -d "0 0"
# local
hg co -q 0
echo local > rev
if [ "$1" != "" ] ; then $1 ; fi
hg ci -m "local" -d "0 0"
# 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
hg ci -m "merge" -d "0 0"
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"