view tests/test-git-export @ 3295:764688cf51e5

merge: remember rename copies and parents properly on commit record copies in dirstate even if rename was remote this lets us record it properly at commit teach checkfilemerge about copies, including merge cases pull old copy code out of commit extend rename-merge1 test to show file index
author Matt Mackall <mpm@selenic.com>
date Sun, 08 Oct 2006 19:57:45 -0500
parents 096f1c73cdc3
children 751df21dad72
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

hg cp new copy
hg ci -mcopy -d '0 0'
echo '% copy'
hg diff --git -r 1:tip

hg mv copy rename
hg ci -mrename -d '0 0'
echo '% rename'
hg diff --git -r 2:tip

hg rm rename
hg ci -mdelete -d '0 0'
echo '% delete'
hg diff --git -r 3:tip

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

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

echo '% nonexistent in tip+chmod'
hg diff --git -r 5:6