Mercurial > hg
view tests/test-copy2 @ 5811:180a3eee4b75
Fix copies reporting in log and convert.
If copy logged in file revision, we report copy for changeset only
if file revisions linkrev points back to the changeset in question
or both changeset parents contain different file revisions.
This fixes extra copies reported when executable bit was changed for
previously copied file.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 29 Dec 2007 17:11:48 +0300 |
parents | 44e17f5029d0 |
children | 6c82beaaa11a |
line wrap: on
line source
#!/bin/sh hg init echo foo > foo echo "# should fail - foo is not managed" hg mv foo bar hg st -A hg add foo echo "# dry-run; print a warning that this is not a real copy; foo is added" hg mv --dry-run foo bar hg st -A echo "# should print a warning that this is not a real copy; bar is added" hg mv foo bar hg st -A echo "# should print a warning that this is not a real copy; foo is added" hg cp bar foo hg rm -f bar rm bar hg st -A hg commit -m1 -d"0 0" echo "# dry-run; should show that foo is clean" hg copy --dry-run foo bar hg st -A echo "# should show copy" hg copy foo bar hg st -C echo "# shouldn't show copy" hg commit -m2 -d"0 0" hg st -C echo "# should match" hg debugindex .hg/store/data/foo.i hg debugrename bar echo bleah > foo echo quux > bar hg commit -m3 -d"0 0" echo "# should not be renamed" hg debugrename bar hg copy -f foo bar echo "# should show copy" hg st -C hg commit -m3 -d"0 0" echo "# should show no parents for tip" hg debugindex .hg/store/data/bar.i echo "# should match" hg debugindex .hg/store/data/foo.i hg debugrename bar echo "# should show no copies" hg st -C echo "# copy --after on an added file" cp bar baz hg add baz hg cp -A bar baz hg st -C echo "# foo was clean:" hg st -AC foo echo "# but it's considered modified after a copy --after --force" hg copy -Af bar foo hg st -AC foo exit 0