view tests/test-win32text @ 5966:11af38a592ae

Register data filters in a localrepo instead of util - Changing data filters implementation is easier, adddatafilter() can rewrap filter after inspecting their prototype - Custom data filters really belongs to localrepo, mixing them with generic wrapper like "pipefilter" or "tempfilter" looks wrong. - util.filtertable should not be accessed from extensions
author Patrick Mezard <pmezard@gmail.com>
date Mon, 28 Jan 2008 21:39:47 +0100
parents 963c516bb38c
children f8ad3b76e923
line wrap: on
line source

#!/bin/sh

cat > unix2dos.py <<EOF 
import sys

for path in sys.argv[1:]:
    data = file(path, 'rb').read()
    data = data.replace('\n', '\r\n')
    file(path, 'wb').write(data)
EOF

hg init
echo '[hooks]' >> .hg/hgrc
echo 'pretxncommit.crlf = python:hgext.win32text.forbidcrlf' >> .hg/hgrc
echo 'pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf' >> .hg/hgrc
cat .hg/hgrc
echo

echo hello > f
hg add f
hg ci -m 1 -d'0 0'
echo

python unix2dos.py f
hg ci -m 2 -d'0 0'
hg revert -a
echo

mkdir d
echo hello > d/f2
python unix2dos.py d/f2
hg add d/f2
hg ci -m 3 -d'0 0'
hg revert -a
rm d/f2
echo

hg rem f
hg ci -m 4 -d'0 0'
echo

python -c 'file("bin", "wb").write("hello\x00\x0D\x0A")'
hg add bin
hg ci -m 5 -d'0 0'
hg log -v
echo

hg clone . dupe
echo
for x in a b c d; do echo content > dupe/$x; done
hg -R dupe add
python unix2dos.py dupe/b dupe/c dupe/d
hg -R dupe ci -m a -d'0 0' dupe/a
hg -R dupe ci -m b/c -d'0 0' dupe/[bc]
hg -R dupe ci -m d -d'0 0' dupe/d
hg -R dupe log -v
echo

hg pull dupe
echo

hg log -v
echo

# XXX missing tests for encode/decode hooks