mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
55 lines
1.2 KiB
Bash
Executable File
55 lines
1.2 KiB
Bash
Executable File
#!/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
|
|
|