view tests/test-convert @ 5478:bff41174563f

Only set mode of new patch if the target file was removed before. If the file is writable by the user, but owned by a different user, the chmod will otherwise fail with "Operation not permitted". Additionally make very sure that the file is only written if either the number of links is <= 1 or the file was successfully removed. Maybe this minimal COW code should be replaced by something from util.
author Thomas Arendsen Hein <thomas@intevation.de>
date Thu, 25 Oct 2007 19:40:56 +0200
parents 71e7c86adcb7
children
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "convert=" >> $HGRCPATH

hg help convert

hg init a
cd a
echo a > a
hg ci -d'0 0' -Ama
hg cp a b
hg ci -d'1 0' -mb
hg rm a
hg ci -d'2 0' -mc
hg mv b a
hg ci -d'3 0' -md
echo a >> a
hg ci -d'4 0' -me

cd ..
hg convert a 2>&1 | grep -v 'subversion python bindings could not be loaded'
hg --cwd a-hg pull ../a

touch bogusfile
echo % should fail
hg convert a bogusfile

mkdir bogusdir
chmod 000 bogusdir

echo % should fail
hg convert a bogusdir

echo % should succeed
chmod 700 bogusdir
hg convert a bogusdir