On 2015-04-06 13.48, Erik Elfström wrote: > Signed-off-by: Erik Elfström <erik.elfstrom@xxxxxxxxx> > --- > t/perf/p7300-clean.sh | 37 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100755 t/perf/p7300-clean.sh > > diff --git a/t/perf/p7300-clean.sh b/t/perf/p7300-clean.sh > new file mode 100755 > index 0000000..3f56fb2 > --- /dev/null > +++ b/t/perf/p7300-clean.sh > @@ -0,0 +1,37 @@ > +#!/bin/sh > + > +test_description="Test git-clean performance" > + > +. ./perf-lib.sh > + > +test_perf_large_repo > +test_checkout_worktree > + > +test_expect_success 'setup untracked directory with many sub dirs' ' > + rm -rf 500_sub_dirs 50000_sub_dirs clean_test_dir && > + mkdir 500_sub_dirs 50000_sub_dirs clean_test_dir && > + for i in $(seq 1 500) I think "seq" is bash-only, and can be easily replaced by "test_seq" > + do > + mkdir 500_sub_dirs/dir$i > + done && > + for i in $(seq 1 100) > + do > + cp -r 500_sub_dirs 50000_sub_dirs/dir$i > + done > +' > + > +test_perf 'clean many untracked sub dirs, check for nested git' ' > + rm -rf clean_test_dir/50000_sub_dirs_cpy && > + cp -r 50000_sub_dirs clean_test_dir/50000_sub_dirs_cpy && > + git clean -q -f -d clean_test_dir/ && > + test 0 = $(ls -A clean_test_dir/ | wc -l) Is the "ls -A" portable on all systems: http://pubs.opengroup.org/onlinepubs/009695399/utilities/ls.html My feeling is that the "emptiness" of a directory can by tested by simply removing it: > + git clean -q -f -d clean_test_dir/ && > + rmdir clean_test_dir (And similar below) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html