Mercurial > hg
view tests/test-win32text @ 8044:c1e2b7407dc3
purge: fix b777dd8f7836 (remove read-only files)
- use try/except to avoid unnecessary work
- edit only mode bits
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sat, 11 Apr 2009 00:13:18 +0200 |
parents | b71a52f101dc |
children | 441dc7becd43 |
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 echo '% just linefeed' > linefeed hg ci -qAm 8 linefeed python print.py < linefeed hg cat linefeed | python print.py hg st -q hg revert -a linefeed python print.py < linefeed hg st -q echo modified >> linefeed hg st -q hg revert -a hg st -q python print.py < linefeed echo "# disable extension again" echo '[decode]' >> .hg/hgrc echo '** = !' >> .hg/hgrc echo '[encode]' >> .hg/hgrc echo '** = !' >> .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