# HG changeset patch # User Bryan O'Sullivan # Date 2013-04-03 18:35:27 # Node ID cafa447a7d3b494d334776de28e02606f297bdbf # Parent c7e8b143e086f03858dcff0dc8b8f8ba7ab49549 util: add functions to check symlink/exec bits These are not yet used. diff --git a/mercurial/posix.py b/mercurial/posix.py --- a/mercurial/posix.py +++ b/mercurial/posix.py @@ -557,3 +557,11 @@ class unixdomainserver(socket.socket): if self.realpath != self.path: okayifmissing(os.unlink, self.realpath) okayifmissing(os.rmdir, os.path.dirname(self.realpath)) + +def statislink(st): + '''check whether a stat result is a symlink''' + return st and stat.S_ISLNK(st.st_mode) + +def statisexec(st): + '''check whether a stat result is an executable file''' + return st and (st.st_mode & 0100 != 0) diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -65,6 +65,8 @@ spawndetached = platform.spawndetached split = platform.split sshargs = platform.sshargs statfiles = getattr(osutil, 'statfiles', platform.statfiles) +statisexec = platform.statisexec +statislink = platform.statislink termwidth = platform.termwidth testpid = platform.testpid umask = platform.umask diff --git a/mercurial/windows.py b/mercurial/windows.py --- a/mercurial/windows.py +++ b/mercurial/windows.py @@ -337,3 +337,11 @@ def lookupreg(key, valname=None, scope=N pass expandglobs = True + +def statislink(st): + '''check whether a stat result is a symlink''' + return False + +def statisexec(st): + '''check whether a stat result is an executable file''' + return False