|
|
#!/bin/sh
|
|
|
|
|
|
cat > unix2mac.py <<EOF
|
|
|
import sys
|
|
|
|
|
|
for path in sys.argv[1:]:
|
|
|
data = file(path, 'rb').read()
|
|
|
data = data.replace('\n', '\r')
|
|
|
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.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc
|
|
|
echo 'pretxnchangegroup.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc
|
|
|
cat .hg/hgrc
|
|
|
echo
|
|
|
|
|
|
echo hello > f
|
|
|
hg add f
|
|
|
hg ci -m 1 -d'0 0'
|
|
|
echo
|
|
|
|
|
|
python unix2mac.py f
|
|
|
hg ci -m 2 -d'0 0'
|
|
|
hg revert -a
|
|
|
echo
|
|
|
|
|
|
mkdir d
|
|
|
echo hello > d/f2
|
|
|
python unix2mac.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")'
|
|
|
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 unix2mac.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")'
|
|
|
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 '** = macdecode:' >> .hg/hgrc
|
|
|
echo '[encode]' >> .hg/hgrc
|
|
|
echo '** = macencode:' >> .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")'
|
|
|
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
|
|
|
|