##// END OF EJS Templates
dirstate: include explicit matches in match.traversedir calls...
Martin von Zweigbergk -
r44112:95d2eab0 default
parent child Browse files
Show More
@@ -939,6 +939,11 b' class dirstate(object):'
939
939
940 # step 1: find all explicit files
940 # step 1: find all explicit files
941 results, work, dirsnotfound = self._walkexplicit(match, subrepos)
941 results, work, dirsnotfound = self._walkexplicit(match, subrepos)
942 if matchtdir:
943 for d in work:
944 matchtdir(d[0])
945 for d in dirsnotfound:
946 matchtdir(d)
942
947
943 skipstep3 = skipstep3 and not (work or dirsnotfound)
948 skipstep3 = skipstep3 and not (work or dirsnotfound)
944 work = [d for d in work if not dirignore(d[0])]
949 work = [d for d in work if not dirignore(d[0])]
@@ -2676,7 +2676,6 b' def purge('
2676
2676
2677 # There's no API to copy a matcher. So mutate the passed matcher and
2677 # There's no API to copy a matcher. So mutate the passed matcher and
2678 # restore it when we're done.
2678 # restore it when we're done.
2679 oldexplicitdir = matcher.explicitdir
2680 oldtraversedir = matcher.traversedir
2679 oldtraversedir = matcher.traversedir
2681
2680
2682 res = []
2681 res = []
@@ -2684,7 +2683,7 b' def purge('
2684 try:
2683 try:
2685 if removeemptydirs:
2684 if removeemptydirs:
2686 directories = []
2685 directories = []
2687 matcher.explicitdir = matcher.traversedir = directories.append
2686 matcher.traversedir = directories.append
2688
2687
2689 status = repo.status(match=matcher, ignored=ignored, unknown=True)
2688 status = repo.status(match=matcher, ignored=ignored, unknown=True)
2690
2689
@@ -2706,5 +2705,4 b' def purge('
2706 return res
2705 return res
2707
2706
2708 finally:
2707 finally:
2709 matcher.explicitdir = oldexplicitdir
2710 matcher.traversedir = oldtraversedir
2708 matcher.traversedir = oldtraversedir
General Comments 0
You need to be logged in to leave comments. Login now