view tests/test-abort-checkin @ 6805:482581431dcd

Sort removes first when applying updates (fixes issues 750 and 912) This change ensures that removes happen first in applyupdates(). This avoids issues where we try to make a case-only rename of a file on a case insensitive system. Without this patch, the add of the new name happens before the remove of the old one - which results in the file not existing, as the two names are effectively the same. With the patch, the old name gets removed then the new one gets added, which is always safe.
author Paul Moore <p.f.moore@gmail.com>
date Tue, 01 Jul 2008 17:59:31 +0100
parents 193e0f8d9a47
children
line wrap: on
line source

#!/bin/sh

cat > abortcommit.py <<EOF
from mercurial import util

def hook(**args):
    raise util.Abort("no commits allowed")

def reposetup(ui, repo):
    repo.ui.setconfig("hooks", "pretxncommit.nocommits", hook)
EOF
abspath=`pwd`/abortcommit.py

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
echo "abortcommit = $abspath" >> $HGRCPATH

hg init foo
cd foo
echo foo > foo
hg add foo

# mq may keep a reference to the repository so __del__ will not be called
# and .hg/journal.dirstate will not be deleted:
hg ci -m foo
hg ci -m foo

exit 0