# HG changeset patch # User Benoit Boissinot # Date 1187908688 -7200 # Node ID 316ce5e85b3e7893e5e624445d13856261fad284 # Parent 156f4c8a12aa5f56e8d7bf909791d39c37893142 check exec: return fallback in case of error during the check If there is any error while checking if exec is supported, we can return fallback. fix issue705 diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -793,12 +793,16 @@ def checkexec(path): Requires a directory (like /foo/.hg) """ - fh, fn = tempfile.mkstemp("", "", path) - os.close(fh) - m = os.stat(fn).st_mode - os.chmod(fn, m ^ 0111) - r = (os.stat(fn).st_mode != m) - os.unlink(fn) + try: + fh, fn = tempfile.mkstemp("", "", path) + os.close(fh) + m = os.stat(fn).st_mode + os.chmod(fn, m ^ 0111) + r = (os.stat(fn).st_mode != m) + os.unlink(fn) + except (IOError,OSError): + # we don't care, the user probably won't be able to commit anyway + return False return r def execfunc(path, fallback):