From c22027d71dea4308f8ecdc5e0cb1b16084c3f6af Mon Sep 17 00:00:00 2001 From: Marc Neudert Date: Thu, 23 Nov 2017 20:07:40 +0100 Subject: [PATCH] Stop traversal at maxdepth if set --- gitcheck/gitcheck.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gitcheck/gitcheck.py b/gitcheck/gitcheck.py index 448f0e9..bebdc13 100755 --- a/gitcheck/gitcheck.py +++ b/gitcheck/gitcheck.py @@ -82,12 +82,15 @@ def searchRepositories(): html.path = curdir startinglevel = curdir.count(os.sep) - for directory, dirnames, filenames in os.walk(curdir): + for directory, dirnames, filenames in os.walk(curdir, topdown=True): level = directory.count(os.sep) - startinglevel - if argopts.get('depth', None) is None or level <= argopts.get('depth', None): - if '.git' in dirnames: - showDebug(" Add %s repository" % directory) - repo.add(directory) + + if '.git' in dirnames: + showDebug(" Add %s repository" % directory) + repo.add(directory) + + if argopts.get('depth', None) is not None and level >= argopts.get('depth', None): + dirnames[:] = [] showDebug('Done') return sorted(repo)