diff options
author | 2015-10-08 14:27:25 +0000 | |
---|---|---|
committer | 2015-10-09 14:39:56 +0000 | |
commit | 88bd33adf7c07098c7f3f9bf00426399d08a807b (patch) | |
tree | 19ce16aeef0d3817836155f4a083b6a0f19e9917 | |
parent | ad018a64ba24803def18e7d3d78a201202ea5b7b (diff) |
Do not follow symlinks when checking if a repository symlink already exists.
This confuses Bazel if a local_repository points to a nonexistent directory.
--
MOS_MIGRATED_REVID=104959834
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/repository/LocalRepositoryFunction.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/LocalRepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/LocalRepositoryFunction.java index cf9022ced2..fe62852c34 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/repository/LocalRepositoryFunction.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/LocalRepositoryFunction.java @@ -26,6 +26,7 @@ import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; +import com.google.devtools.build.lib.vfs.Symlinks; import com.google.devtools.build.skyframe.SkyFunctionException; import com.google.devtools.build.skyframe.SkyFunctionException.Transience; import com.google.devtools.build.skyframe.SkyFunctionName; @@ -60,7 +61,7 @@ public class LocalRepositoryFunction extends RepositoryFunction { Path repositoryPath = getExternalRepositoryDirectory().getRelative(rule.getName()); try { FileSystemUtils.createDirectoryAndParents(repositoryPath.getParentDirectory()); - if (repositoryPath.exists()) { + if (repositoryPath.exists(Symlinks.NOFOLLOW)) { repositoryPath.delete(); } repositoryPath.createSymbolicLink(pathFragment); |