From d5a892a7cc20220a453c298baa87da9c5ccc7e02 Mon Sep 17 00:00:00 2001 From: kush Date: Wed, 16 Aug 2017 20:01:53 +0200 Subject: Fix skyframe-native filesets to honor 'excludes' while in a directory traversal. RELNOTES: None PiperOrigin-RevId: 165465128 --- .../com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/google/devtools/build/lib/skyframe') diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java index fe23f379b4..58dd224cc3 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunction.java @@ -170,7 +170,9 @@ public final class FilesetEntryFunction implements SkyFunction { // Check whether the symlink is excluded before attempting to resolve it. // It may be dangling, but excluding it is still fine. - if (exclusions.contains(linkName.getPathString())) { + // TODO(b/64754128): Investigate if we could have made the exclude earlier before + // unnecessarily iterating over all the files in an excluded directory. + if (linkName.segmentCount() > 0 && exclusions.contains(linkName.getSegment(0))) { continue; } -- cgit v1.2.3