view tests/test-git-export @ 2931:0843bd53dcff

Fix bug #345. The last hit for a file might have been before the last window, so we can't clear copies. To reduce the load, we only store real copy entries instead of storing hashes for every revision.
author Brendan Cully <brendan@kublai.com>
date Fri, 18 Aug 2006 10:05:44 -0700
parents 8b02af865990
children 1c66aad252f9
line wrap: on
line source

#!/bin/sh

hg init a
cd a

echo start > start
hg ci -Amstart -d '0 0'
echo new > new
hg ci -Amnew -d '0 0'
echo '% new file'
hg diff --git -r 0 | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

hg cp new copy
hg ci -mcopy -d '0 0'
echo '% copy'
hg diff --git -r 1:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

hg mv copy rename
hg ci -mrename -d '0 0'
echo '% rename'
hg diff --git -r 2:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

hg rm rename
hg ci -mdelete -d '0 0'
echo '% delete'
hg diff --git -r 3:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

cat > src <<EOF
1
2
3
4
5
EOF
hg ci -Amsrc -d '0 0'
chmod +x src
hg ci -munexec -d '0 0'
echo '% chmod 644'
hg diff --git -r 5:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

hg mv src dst
chmod -x dst
echo a >> dst
hg ci -mrenamemod -d '0 0'
echo '% rename+mod+chmod'
hg diff --git -r 6:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"