Mercurial > hg
view README @ 19465:004f965630d9
osutil: consider WindowsError's behaviour to support python 2.4 on Windows
This change treat the ESRCH error as ENOENT like WindowsError class
does in python 2.5 or later. Without this change, some try..execpt
code which expects errno is ENOENT may fail. Actually hg command does
not work with python 2.4 on Windows.
CreateFile() will fail with error code ESRCH
when parent directory of specified path is not exist,
or ENOENT when parent directory exist but file is not exist.
Two errors are same in the mean of "file is not exist".
So WindowsError class treats error code ESRCH as ENOENT
in python 2.5 or later, but python 2.4 does not.
Actual results with python 2.4:
>>> errno.ENOENT
2
>>> errno.ESRCH
3
>>> WindowsError(3, 'msg').errno
3
>>> WindowsError(3, 'msg').args
(3, 'msg')
And with python 2.5 (or later):
>>> errno.ENOENT
2
>>> errno.ESRCH
3
>>> WindowsError(3, 'msg').errno
2
>>> WindowsError(3, 'msg').args
(3, 'msg')
Note that there is no need to fix osutil.c because it never be used
with python 2.4.
author | Shun-ichi GOTO <shunichi.goto@gmail.com> |
---|---|
date | Fri, 12 Jul 2013 11:14:42 +0900 |
parents | df5ecb813426 |
children | 4b0fc75f9403 |
line wrap: on
line source
Mercurial ========= Mercurial is a fast, easy to use, distributed revision control tool for software developers. Basic install: $ make # see install targets $ make install # do a system-wide install $ hg debuginstall # sanity-check setup $ hg # see help Running without installing: $ make local # build for inplace usage $ ./hg --version # should show the latest version See http://mercurial.selenic.com/ for detailed installation instructions, platform-specific notes, and Mercurial user information.