Windows: improve performance via buffered I/O
The posixfile_nt code hits the win32 file API directly, which
essentially amounts to performing a system call for every read and
write. This is slow.
We add a C extension that lets us use a Python file object instead,
but preserve our desired POSIX-like semantics (the ability to rename
or delete a file that is being accessed).
If the C extension is not available (e.g. in a VPS environment
without a compiler), we fall back to the posixfile_nt code.
#!/bin/sh
#
hg init foo
cd foo
touch a
unset HGUSER
echo "[ui]" >> .hg/hgrc
echo "username= foo" >> .hg/hgrc
echo " bar1" >> .hg/hgrc
hg ci -Am m
rm .hg/hgrc
HGUSER=`(echo foo; echo bar2)` hg ci -Am m
hg ci -Am m -u "`(echo foo; echo bar3)`"
true