##// END OF EJS Templates
hg: make _local() behave consistently on Python 3.8 (issue6287)...
hg: make _local() behave consistently on Python 3.8 (issue6287) Python 3.8 makes os.path.isfile quietly eat "path invalid" errors and return False instead of allowing the exception to propagate. Given that this is a change from 2018 (sigh) and it's mentioned in the release notes (double sigh) we're definitely too late to complain to Python about the behavior change, so open-code part of os.path.isfile() in this method so we can catch invalid-path errors and handle them appropriately. I confirmed that posixpath and ntpath both delegate to genericpath, which uses os.stat() under the covers. Differential Revision: https://phab.mercurial-scm.org/D8302

File last commit:

r43346:2372284d default
r45061:6a8738dc default
Show More
shallowstore.py
18 lines | 491 B | text/x-python | PythonLexer
# shallowstore.py - shallow store for interacting with shallow repos
#
# Copyright 2013 Facebook, Inc.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
def wrapstore(store):
class shallowstore(store.__class__):
def __contains__(self, path):
# Assume it exists
return True
store.__class__ = shallowstore
return store