Mercurial > hg
view tests/test-win32text @ 6289:91ac1726730a
issue 1003: send all data properly
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Sun, 16 Mar 2008 22:59:04 -0700 |
parents | 942287cb1f57 |
children | 653ddd1d7cd7 |
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 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