diff --git a/contrib/purge/purge.py b/contrib/purge/purge.py --- a/contrib/purge/purge.py +++ b/contrib/purge/purge.py @@ -49,9 +49,10 @@ def dopurge(ui, repo, dirs=None, act=Tru directories = [] files = [] - for src, f, st in repo.dirstate.statwalk(files=dirs, ignored=True, - directories=True): - if src == 'd': + roots, match, anypats = util.cmdmatcher(repo.root, repo.getcwd(), dirs) + for src, f, st in repo.dirstate.statwalk(files=roots, match=match, + ignored=True, directories=True): + if src == 'd': directories.append(f) elif src == 'f' and f not in repo.dirstate: files.append(f)