Mercurial > hg-stable
view tests/test-git-export @ 6425:2d9328a2f81f
copies: skip directory rename checks when not merging
The directory rename checks are not meaningful unless we're moving or copying
files across a branch during a merge.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 29 Mar 2008 12:39:47 -0500 |
parents | 0fc16031bb45 |
children | 6c82beaaa11a |
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 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 echo echo '% rename binary file' hg mv binfile.bin renamed.bin hg diff --git echo 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 echo '% reversed' hg diff --git -r 11:9 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 '% reversed' hg diff --git -r -1:-3 echo echo '% file created in r1 and renamed before r2' hg diff --git -r -4:-1 echo '% reversed' hg diff --git -r -1:-4 echo echo '% file created after r1 and renamed before r2' hg diff --git -r -5:-1 echo '% reversed' hg diff --git -r -1:-5 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 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 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 echo '% reversed' hg diff --git -r -1 -r -2 echo '% there should be a trailing TAB if there are spaces in the file name' echo foo > 'with spaces' hg add 'with spaces' hg diff --git hg ci -m 'add filename with spaces'