Mercurial > hg
changeset 5659:3da652f2039c
util: get rid of is_win_9x wart
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 18 Dec 2007 14:01:42 -0600 |
parents | ae3089cefaab |
children | 3c80ecdc1bcd |
files | mercurial/revlog.py mercurial/util.py |
diffstat | 2 files changed, 15 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revlog.py Sun Dec 09 17:14:38 2007 +0900 +++ b/mercurial/revlog.py Tue Dec 18 14:01:42 2007 -0600 @@ -112,8 +112,6 @@ # lazyparser is not safe to use on windows if win32 extensions not # available. it keeps file handle open, which make it not possible # to break hardlinks on local cloned repos. - safe_to_use = os.name != 'nt' or (not util.is_win_9x() and - hasattr(util, 'win32api')) def __init__(self, dataf, size): self.dataf = dataf @@ -362,7 +360,7 @@ except AttributeError: size = 0 - if lazyparser.safe_to_use and not inline and size > 1000000: + if util.openhardlinks() and not inline and size > 1000000: # big index, let's parse it on demand parser = lazyparser(fp, size) index = lazyindex(parser)
--- a/mercurial/util.py Sun Dec 09 17:14:38 2007 +0900 +++ b/mercurial/util.py Tue Dec 18 14:01:42 2007 -0600 @@ -772,12 +772,9 @@ posixfile = file -def is_win_9x(): - '''return true if run on windows 95, 98 or me.''' - try: - return sys.getwindowsversion()[3] == 1 - except AttributeError: - return os.name == 'nt' and 'command' in os.environ.get('comspec', '') +def openhardlinks(): + '''return true if it is safe to hold open file handles to hardlinks''' + return True getuser_fallback = None @@ -943,6 +940,16 @@ sys.stdout = winstdout(sys.stdout) + def _is_win_9x(): + '''return true if run on windows 95, 98 or me.''' + try: + return sys.getwindowsversion()[3] == 1 + except AttributeError: + return 'command' in os.environ.get('comspec', '') + + def openhardlinks(): + return not _is_win_9x and "win32api" in locals() + def system_rcpath(): try: return system_rcpath_win32() @@ -1074,7 +1081,7 @@ try: # override functions with win32 versions if possible from util_win32 import * - if not is_win_9x(): + if not _is_win_9x(): posixfile = posixfile_nt except ImportError: pass