##// END OF EJS Templates
util: move copymode into posix.py and windows.py...
Adrian Buehlmann -
r15011:5e44e4b3 default
parent child Browse files
Show More
@@ -84,6 +84,21 b' def setflags(f, l, x):'
84 84 # Turn off all +x bits
85 85 os.chmod(f, s & 0666)
86 86
87 def copymode(src, dst, mode=None):
88 '''Copy the file mode from the file at path src to dst.
89 If src doesn't exist, we're using mode instead. If mode is None, we're
90 using umask.'''
91 try:
92 st_mode = os.lstat(src).st_mode & 0777
93 except OSError, inst:
94 if inst.errno != errno.ENOENT:
95 raise
96 st_mode = mode
97 if st_mode is None:
98 st_mode = ~umask
99 st_mode &= 0666
100 os.chmod(dst, st_mode)
101
87 102 def checkexec(path):
88 103 """
89 104 Check whether the given path is on a filesystem with UNIX-like exec flags
@@ -27,6 +27,7 b' else:'
27 27 cachestat = platform.cachestat
28 28 checkexec = platform.checkexec
29 29 checklink = platform.checklink
30 copymode = platform.copymode
30 31 executablepath = platform.executablepath
31 32 expandglobs = platform.expandglobs
32 33 explainexit = platform.explainexit
@@ -701,21 +702,6 b' def gui():'
701 702 else:
702 703 return os.name == "nt" or os.environ.get("DISPLAY")
703 704
704 def copymode(src, dst, mode=None):
705 '''Copy the file mode from the file at path src to dst.
706 If src doesn't exist, we're using mode instead. If mode is None, we're
707 using umask.'''
708 try:
709 st_mode = os.lstat(src).st_mode & 0777
710 except OSError, inst:
711 if inst.errno != errno.ENOENT:
712 raise
713 st_mode = mode
714 if st_mode is None:
715 st_mode = ~umask
716 st_mode &= 0666
717 os.chmod(dst, st_mode)
718
719 705 def mktempcopy(name, emptyok=False, createmode=None):
720 706 """Create a temporary file with the same contents from name
721 707
@@ -105,6 +105,9 b' def sshargs(sshcmd, host, user, port):'
105 105 def setflags(f, l, x):
106 106 pass
107 107
108 def copymode(src, dst, mode=None):
109 pass
110
108 111 def checkexec(path):
109 112 return False
110 113
General Comments 0
You need to be logged in to leave comments. Login now