mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
b821ab3766
Summary: In a future diff we'll increase the size of the rotatelog temporarily during clones. To do so we need it to be configurable. Reviewed By: quark-zju Differential Revision: D23089541 fbshipit-source-id: 5010e417a83a2611283322f1dbb7023f4286f503
50 lines
1.1 KiB
Python
Executable File
50 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# like ls -l, but do not print date, user, or non-common mode bit, to avoid
|
|
# using globs in tests.
|
|
from __future__ import absolute_import, print_function
|
|
|
|
import os
|
|
import stat
|
|
import sys
|
|
|
|
|
|
def modestr(st):
|
|
mode = st.st_mode
|
|
result = ""
|
|
if mode & stat.S_IFDIR:
|
|
result += "d"
|
|
else:
|
|
result += "-"
|
|
for owner in ["USR", "GRP", "OTH"]:
|
|
for action in ["R", "W", "X"]:
|
|
if mode & getattr(stat, "S_I%s%s" % (action, owner)):
|
|
result += action.lower()
|
|
else:
|
|
result += "-"
|
|
return result
|
|
|
|
|
|
def sizestr(st):
|
|
if st.st_mode & stat.S_IFREG:
|
|
return "%7d" % st.st_size
|
|
else:
|
|
# do not show size for non regular files
|
|
return " " * 7
|
|
|
|
|
|
paths = sys.argv[1:]
|
|
if not paths:
|
|
paths = ["."]
|
|
|
|
for path in paths:
|
|
if os.path.isdir(path):
|
|
os.chdir(path)
|
|
|
|
for name in sorted(os.listdir(".")):
|
|
st = os.stat(name)
|
|
print("%s %s %s" % (modestr(st), sizestr(st), name))
|
|
else:
|
|
st = os.stat(path)
|
|
print("%s %s %s" % (modestr(st), sizestr(st), os.path.abspath(path)))
|