Don't abort when backup files already exist. Don't allow alternative names.
Rationale:
- When the user wants to revert, he shouldn't be stopped from doing
this just because some old backups will be overwritten.
- To not clobber important files by accident, alternative names for backup
files were disabled. As the backup target now has a fixed name, the user
doesn't have to be informed about the backup copy (unless --verbose)
#!/bin/sh
hg init
echo foo > foo
hg add foo
hg commit -m1 -d"0 0"
echo "# should show copy"
hg copy foo bar
hg debugstate|grep '^copy'
echo "# shouldn't show copy"
hg commit -m2 -d"0 0"
hg debugstate|grep '^copy'
echo "# should match"
hg debugindex .hg/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 debugstate|grep '^copy'
hg commit -m3 -d"0 0"
echo "# should show no parents for tip"
hg debugindex .hg/data/bar.i
echo "# should match"
hg debugindex .hg/data/foo.i
hg debugrename bar
echo "# should show no copies"
hg debugstate|grep '^copy'
exit 0