##// END OF EJS Templates
[RFC] convert: fix --datesort...
[RFC] convert: fix --datesort The problem is that previously commit.date was used for sorting, but it's a string like "1 Jan xxx 2007", so it it wrong to use it for sorting. Another problem is that why we are using depth for sorting -- I have no clear answer -- it seems to be plain wrong. This patch is just an RFC.

File last commit:

r5396:5105b119 default
r5656:b940260c 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