Mercurial > hg
changeset 3994:1cc60eebc71f
exec: checkexec checks whether filesystem supports exec flags
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Fri, 29 Dec 2006 20:04:30 -0600 |
parents | 04d919cdf263 |
children | a4e79f86d304 |
files | mercurial/util.py |
diffstat | 1 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/util.py Tue Dec 26 20:08:09 2006 +0100 +++ b/mercurial/util.py Fri Dec 29 20:04:30 2006 -0600 @@ -693,6 +693,20 @@ except: return True +def checkexec(path): + """ + Check whether the given path is on a filesystem with UNIX-like exec flags + + 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) + return r + # Platform specific variants if os.name == 'nt': import msvcrt