store: don't create dirs ending in period or space for hashed paths (
issue1417)
Windows won't create directories with names ending in period or space, so
we replace the last period/space character in truncated directory names of
hashed paths with some other character (underbar).
#!/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 cat f | python print.py
cat f | python print.py