test-git-export
142 lines
| 2.6 KiB
| text/plain
|
TextLexer
/ tests / test-git-export
|
r2907 | #!/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' | ||||
|
r3199 | hg diff --git -r 0 | ||
|
r2907 | |||
hg cp new copy | ||||
hg ci -mcopy -d '0 0' | ||||
echo '% copy' | ||||
|
r3199 | hg diff --git -r 1:tip | ||
|
r2907 | |||
hg mv copy rename | ||||
hg ci -mrename -d '0 0' | ||||
echo '% rename' | ||||
|
r3199 | hg diff --git -r 2:tip | ||
|
r2907 | |||
hg rm rename | ||||
hg ci -mdelete -d '0 0' | ||||
echo '% delete' | ||||
|
r3199 | hg diff --git -r 3:tip | ||
|
r2907 | |||
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' | ||||
|
r3199 | hg diff --git -r 5:tip | ||
|
r2907 | |||
hg mv src dst | ||||
chmod -x dst | ||||
echo a >> dst | ||||
hg ci -mrenamemod -d '0 0' | ||||
echo '% rename+mod+chmod' | ||||
|
r3199 | hg diff --git -r 6:tip | ||
|
r3066 | |||
echo '% nonexistent in tip+chmod' | ||||
|
r3199 | hg diff --git -r 5:6 | ||
|
r3368 | |||
echo '% binary diff' | ||||
cp $TESTDIR/binfile.bin . | ||||
hg add binfile.bin | ||||
hg diff --git > b.diff | ||||
cat b.diff | ||||
echo '% import binary diff' | ||||
hg revert binfile.bin | ||||
rm binfile.bin | ||||
hg import -mfoo b.diff | ||||
cmp binfile.bin $TESTDIR/binfile.bin | ||||
|
r3693 | echo | ||
|
r4092 | echo '% rename binary file' | ||
hg mv binfile.bin renamed.bin | ||||
hg diff --git | ||||
echo | ||||
|
r3693 | echo '% diff across many revisions' | ||
hg mv dst dst2 | ||||
hg ci -m 'mv dst dst2' -d '0 0' | ||||
echo >> start | ||||
hg ci -m 'change start' -d '0 0' | ||||
hg revert -r -2 start | ||||
hg mv dst2 dst3 | ||||
hg ci -m 'mv dst2 dst3; revert start' -d '0 0' | ||||
hg diff --git -r 9:11 | ||||
|
r3694 | |||
echo a >> foo | ||||
hg add foo | ||||
hg ci -m 'add foo' | ||||
echo b >> foo | ||||
hg ci -m 'change foo' | ||||
hg mv foo bar | ||||
hg ci -m 'mv foo bar' | ||||
echo c >> bar | ||||
hg ci -m 'change bar' | ||||
echo | ||||
echo '% file created before r1 and renamed before r2' | ||||
hg diff --git -r -3:-1 | ||||
echo | ||||
echo '% file created in r1 and renamed before r2' | ||||
hg diff --git -r -4:-1 | ||||
echo | ||||
echo '% file created after r1 and renamed before r2' | ||||
hg diff --git -r -5:-1 | ||||
|
r3695 | echo | ||
echo '% comparing with the working dir' | ||||
echo >> start | ||||
hg ci -m 'change start again' -d '0 0' | ||||
echo > created | ||||
hg add created | ||||
hg ci -m 'add created' | ||||
hg mv created created2 | ||||
hg ci -m 'mv created created2' | ||||
hg mv created2 created3 | ||||
echo "% there's a copy in the working dir..." | ||||
hg diff --git | ||||
echo | ||||
echo "% ...but there's another copy between the original rev and the wd" | ||||
hg diff --git -r -2 | ||||
|
r3696 | echo | ||
echo "% ...but the source of the copy was created after the original rev" | ||||
hg diff --git -r -3 | ||||
hg ci -m 'mv created2 created3' | ||||
echo > brand-new | ||||
hg add brand-new | ||||
hg ci -m 'add brand-new' | ||||
hg mv brand-new brand-new2 | ||||
echo '% created in parent of wd; renamed in the wd' | ||||
hg diff --git | ||||
echo | ||||
echo '% created between r1 and parent of wd; renamed in the wd' | ||||
hg diff --git -r -2 | ||||
|
r3702 | hg ci -m 'mv brand-new brand-new2' | ||
echo '% one file is copied to many destinations and removed' | ||||
hg cp brand-new2 brand-new3 | ||||
hg mv brand-new2 brand-new3-2 | ||||
hg ci -m 'multiple renames/copies' | ||||
hg diff --git -r -2 -r -1 | ||||