Mercurial > hg
view tests/test-branchmap @ 11359:4eaacccbb2ca
osutil.c: Support for py3k added.
This patch adds support for py3k in osutil.c. This is accomplished by including
a header file responsible for abstracting the API differences between python 2
and python 3.
listdir_stat_type is also changed in the following way: A previous call to
PyObject_HEAD_INIT is substituted to a call to PyVarObject_HEAD_INIT, which
makes the object buildable in both python 2.x and 3.x without weird warnings.
After testing on windows, some modifications were also made in the posixfile
function, as it calls PyFile_FromFile and PyFile_SetBufSize, which are gone in
py3k. In py3k the PyFile_* API is, actually a wrapper over the io module, and
code has been adapted accordingly to fit py3k.
author | Renato Cunha <renatoc@gmail.com> |
---|---|
date | Tue, 15 Jun 2010 19:49:56 -0300 |
parents | 7bb004fc14ec |
children |
line wrap: on
line source
#!/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