diff --git a/tests/list-tree.py b/tests/list-tree.py new file mode 100644 --- /dev/null +++ b/tests/list-tree.py @@ -0,0 +1,27 @@ +from __future__ import ( + absolute_import, + print_function, +) + +import argparse +import os + +ap = argparse.ArgumentParser() +ap.add_argument('path', nargs='+') +opts = ap.parse_args() + +def gather(): + for p in opts.path: + if not os.path.exists(p): + return + if os.path.isdir(p): + yield p + os.path.sep + for dirpath, dirs, files in os.walk(p): + for d in dirs: + yield os.path.join(dirpath, d) + os.path.sep + for f in files: + yield os.path.join(dirpath, f) + else: + yield p + +print('\n'.join(sorted(gather()))) diff --git a/tests/test-largefiles-misc.t b/tests/test-largefiles-misc.t --- a/tests/test-largefiles-misc.t +++ b/tests/test-largefiles-misc.t @@ -1095,8 +1095,7 @@ Move (and then undo) a directory move with only largefiles. $ listtree() { - > find $@ \( -type d -printf "%p/\n" -o -type f -printf "%p\n" \) \ - > -a -name .hg -prune | sort + > $PYTHON $TESTDIR/list-tree.py $@ > } $ cd subrepo-root