view tests/test-relink @ 10274:04207f5e7344 stable

mq: Do not translate import message that are appended to commits. We should not translate the "imported patch" message. The translated message confuses the detection whether the user has not updated the commit message yet. We try to avoid to translate generated commit messages.
author David Soria Parra <dsp@php.net>
date Wed, 20 Jan 2010 23:23:18 +0100
parents 750b7a4f01f6
children
line wrap: on
line source

#!/bin/sh

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

fix_path()
{
    tr '\\' /
}

cat > arelinked.py <<EOF
import sys, os
from mercurial import util
path1, path2 = sys.argv[1:3]
if util.samefile(path1, path2):
    print '%s == %s' % (path1, path2)
else:
    print '%s != %s' % (path1, path2)
EOF

echo '% create source repository'
hg init repo
cd repo
echo '[ui]' > .hg/hgrc
echo 'username= A. Foo <a.foo@bar.com>' >> .hg/hgrc
echo a > a
echo b > b
hg ci -Am addfile
echo a >> a
echo a >> b
hg ci -Am changefiles
# Test files are read in binary mode
python -c "file('.hg/store/data/dummy.i', 'wb').write('a\r\nb\n')"
cd ..

echo '% clone and pull to break links'
hg clone --pull -r0 repo clone
cd clone
echo '[ui]' >> .hg/hgrc
echo 'username= A. Baz <a.baz@bar.com>' >> .hg/hgrc
hg pull -q
echo b >> b
hg ci -m changeb
python -c "file('.hg/store/data/dummy.i', 'wb').write('a\nb\r\n')"

echo '% relink'
hg relink --debug | sed 's:relinking.*store:relinking .hg/store:g' \
    | fix_path
cd ..

echo '% check hardlinks'
python arelinked.py repo/.hg/store/data/a.i clone/.hg/store/data/a.i
python arelinked.py repo/.hg/store/data/b.i clone/.hg/store/data/b.i