##// END OF EJS Templates
Fix bad behaviour when specifying an invalid date (issue700)...
Fix bad behaviour when specifying an invalid date (issue700) commit (aborts _after_ typing in a commit message) backout (aborted after the initial revert) tag (edited .hgtags and couldn't commit) import (patch applied, then commit fails) qnew (aborts on bad dates, but writes any valid date into the # Date header) qrefresh (like qnew) sign (like tag) fetch (merge, merge, merge, merge, abort)

File last commit:

r5396:5105b119 default
r6139:989467e8 default
Show More
osutil.py
37 lines | 1.0 KiB | text/x-python | PythonLexer
import os, stat
def _mode_to_kind(mode):
if stat.S_ISREG(mode): return stat.S_IFREG
if stat.S_ISDIR(mode): return stat.S_IFDIR
if stat.S_ISLNK(mode): return stat.S_IFLNK
if stat.S_ISBLK(mode): return stat.S_IFBLK
if stat.S_ISCHR(mode): return stat.S_IFCHR
if stat.S_ISFIFO(mode): return stat.S_IFIFO
if stat.S_ISSOCK(mode): return stat.S_IFSOCK
return mode
def listdir(path, stat=False):
'''listdir(path, stat=False) -> list_of_tuples
Return a sorted list containing information about the entries
in the directory.
If stat is True, each element is a 3-tuple:
(name, type, stat object)
Otherwise, each element is a 2-tuple:
(name, type)
'''
result = []
prefix = path + os.sep
names = os.listdir(path)
names.sort()
for fn in names:
st = os.lstat(prefix + fn)
if stat:
result.append((fn, _mode_to_kind(st.st_mode), st))
else:
result.append((fn, _mode_to_kind(st.st_mode)))
return result