##// END OF EJS Templates
Do not use osutil.c with python 2.4 and Windows (issue1364)...
Do not use osutil.c with python 2.4 and Windows (issue1364) Windows python 2.4 os.stat() reports times including DST offset, while osutil.c reports the correct value, which makes status() systematically compare files content. This bug is fixed in python 2.5. Using osutil.py instead of osutil.c is 4x times slower on large repositories but current code is completely unusable. Given few people are likely to use python 2.4 on Windows this solution was considered a good trade-off compared to more invasive solutions trying to address the offset issue.

File last commit:

r9879:7bb004fc stable
r10521:bde1bb25 stable
Show More
test-branchmap
58 lines | 1.5 KiB | text/plain | TextLexer
#!/bin/sh
hgserve()
{
hg serve -a localhost -p $HGPORT1 -d --pid-file=hg.pid -E errors.log -v $@ \
| sed -e 's/:[0-9][0-9]*//g' -e 's/http:\/\/[^/]*\//http:\/\/localhost\//'
cat hg.pid >> "$DAEMON_PIDS"
}
hg init a
hg --encoding utf-8 -R a branch æ
echo foo > a/foo
hg -R a ci -Am foo
hgserve -R a --config web.push_ssl=False --config web.allow_push=* --encoding latin1
hg --encoding utf-8 clone http://localhost:$HGPORT1 b
hg --encoding utf-8 -R b log
echo bar >> b/foo
hg -R b ci -m bar
hg --encoding utf-8 -R b push | sed "s/$HGPORT1/PORT/"
hg -R a --encoding utf-8 log
kill `cat hg.pid`
# verify 7e7d56fe4833 (encoding fallback in branchmap to maintain compatibility with 1.3.x)
cat <<EOF > oldhg
import sys
from mercurial import ui, hg, commands
class StdoutWrapper(object):
def __init__(self, stdout):
self._file = stdout
def write(self, data):
if data == '47\n':
# latin1 encoding is one %xx (3 bytes) shorter
data = '44\n'
elif data.startswith('%C3%A6 '):
# translate to latin1 encoding
data = '%%E6 %s' % data[7:]
self._file.write(data)
def __getattr__(self, name):
return getattr(self._file, name)
sys.stdout = StdoutWrapper(sys.stdout)
sys.stderr = StdoutWrapper(sys.stderr)
myui = ui.ui()
repo = hg.repository(myui, 'a')
commands.serve(myui, repo, stdio=True)
EOF
echo baz >> b/foo
hg -R b ci -m baz
hg push -R b -e 'python oldhg' ssh://dummy/ --encoding latin1