Mercurial > public > mercurial-scm > hg
diff tests/ls-l.py @ 40495:3a333a582d7b
remotefilelog: import pruned-down remotefilelog extension from hg-experimental
This is remotefilelog as of my recent patches for compatibility with
current tip of hg, minus support for old versions of Mercurial and
some FB-specific features like their treemanifest extension and
fetching linkrev data from a patched phabricator. The file extutil.py
moved from hgext3rd to remotefilelog.
This is not yet ready to be landed, consider it a preview for
now. Planned changes include:
* replace lz4 with zstd
* rename some capabilities, requirements and wireproto commands to mark
them as experimental
* consolidate bits of shallowutil with related functions (eg readfile)
I'm certainly open to other (small) changes, but my rough mission is
to land this largely as-is so we can use it as a model of the
functionality we need going forward for lazy-fetching of file contents
from a server.
# no-check-commit because of a few foo_bar functions
Differential Revision: https://phab.mercurial-scm.org/D4782
author | Augie Fackler <augie@google.com> |
---|---|
date | Thu, 27 Sep 2018 13:03:19 -0400 |
parents | |
children | 2372284d9457 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/ls-l.py Thu Sep 27 13:03:19 2018 -0400 @@ -0,0 +1,37 @@ +#!/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 + +os.chdir((sys.argv[1:] + ['.'])[0]) + +for name in sorted(os.listdir('.')): + st = os.stat(name) + print('%s %s %s' % (modestr(st), sizestr(st), name))