diff --git a/src/main/scala/sbt/FileUtilities.scala b/src/main/scala/sbt/FileUtilities.scala index 50a19fd0e..6bb4ff04c 100644 --- a/src/main/scala/sbt/FileUtilities.scala +++ b/src/main/scala/sbt/FileUtilities.scala @@ -544,8 +544,10 @@ object FileUtilities /** Synchronizes the contents of the sourceDirectory directory to the * targetDirectory directory.*/ def sync(sourceDirectory: Path, targetDirectory: Path, log: Logger): Option[String] = + syncPaths((sourceDirectory ##) ** AllPassFilter, targetDirectory, log) + def syncPaths(sources: PathFinder, targetDirectory: Path, log: Logger): Option[String] = { - copy(((sourceDirectory ##) ** AllPassFilter).get, targetDirectory, log).right.flatMap + copy(sources.get, targetDirectory, log).right.flatMap { copiedTo => prune(targetDirectory, copiedTo, log).toLeft(()) }.left.toOption } def prune(directory: Path, keepOnly: Iterable[Path], log: Logger): Option[String] =