diff --git a/scm-core/src/main/java/sonia/scm/repository/util/CachingAllWorkdirProvider.java b/scm-core/src/main/java/sonia/scm/repository/util/CachingAllWorkdirProvider.java index e66f2fb7ae..455ac14cdb 100644 --- a/scm-core/src/main/java/sonia/scm/repository/util/CachingAllWorkdirProvider.java +++ b/scm-core/src/main/java/sonia/scm/repository/util/CachingAllWorkdirProvider.java @@ -79,7 +79,8 @@ public class CachingAllWorkdirProvider implements CacheSupportingWorkdirProvider @Override public void contextClosed(CreateWorkdirContext createWorkdirContext, File workdir) throws IOException { String id = createWorkdirContext.getScmRepository().getId(); - if (workdirs.putIfAbsent(id, workdir) != null) { + File putResult = workdirs.putIfAbsent(id, workdir); + if (putResult != null && putResult != workdir) { deleteWorkdir(workdir); } }