##// END OF EJS Templates
Mention 'hg update' to switch branches in help for branch and branches.
Mention 'hg update' to switch branches in help for branch and branches.

File last commit:

r5967:f8ad3b76 default
r5999:d1fe1a4e default
Show More
test-win32text
101 lines | 1.9 KiB | text/plain | TextLexer
#!/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
cat > print.py <<EOF
import sys
print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>'))
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
rm .hg/hgrc
(echo some; echo text) > f3
python -c 'file("f4.bat", "wb").write("rem empty\x0D\x0A")'
hg add f3 f4.bat
hg ci -m 6 -d'0 0'
python print.py < bin
python print.py < f3
python print.py < f4.bat
echo
echo '[extensions]' >> .hg/hgrc
echo 'win32text = ' >> .hg/hgrc
echo '[decode]' >> .hg/hgrc
echo '** = cleverdecode:' >> .hg/hgrc
echo '[encode]' >> .hg/hgrc
echo '** = cleverencode:' >> .hg/hgrc
cat .hg/hgrc
echo
rm f3 f4.bat bin
hg co 2>&1 | python -c 'import sys, os; sys.stdout.write(sys.stdin.read().replace(os.getcwd(), "...."))'
python print.py < bin
python print.py < f3
python print.py < f4.bat
echo
python -c 'file("f5.sh", "wb").write("# empty\x0D\x0A")'
hg add f5.sh
hg ci -m 7 -d'0 0'
python print.py < f5.sh
hg cat f5.sh | python print.py