[PATCH 1 of 2] util: add functions to check symlink/exec bits
Bryan O'Sullivan
bos at serpentine.com
Wed Apr 3 15:57:03 UTC 2013
# HG changeset patch
# User Bryan O'Sullivan <bryano at fb.com>
# Date 1364947219 25200
# Tue Apr 02 17:00:19 2013 -0700
# Node ID 5cbbc8b9ab28356138eead0c0539ba9e7afd1089
# Parent 65a67c7aefed9d86aa24758aaa7529445856db9f
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
More information about the Mercurial-devel
mailing list