From c4c8d80fd3a32cace67e7e42650aae7c46dcc622 Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Tue, 25 Jan 2011 23:26:38 +0100 Subject: [PATCH] Fix adding files in a network share We cannot always rename read-only files on network shares, so rename the temp file for a new loose object first, and then set it as read-only. Bug: 335388 Change-Id: Ie0350e032a97e0d09626d6143c5c692873a5f6a2 Signed-off-by: Robin Rosenberg Signed-off-by: Chris Aniszczyk --- .../src/org/eclipse/jgit/storage/file/ObjectDirectory.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/ObjectDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/ObjectDirectory.java index afad321cb..ac48d2a4b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/ObjectDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/file/ObjectDirectory.java @@ -472,8 +472,6 @@ public class ObjectDirectory extends FileObjectDatabase { return InsertLooseObjectResult.EXISTS_PACKED; } - tmp.setReadOnly(); - final File dst = fileFor(id); if (dst.exists()) { // We want to be extra careful and avoid replacing an object @@ -484,6 +482,7 @@ public class ObjectDirectory extends FileObjectDatabase { return InsertLooseObjectResult.EXISTS_LOOSE; } if (tmp.renameTo(dst)) { + tmp.setReadOnly(); unpackedObjectCache.add(id); return InsertLooseObjectResult.INSERTED; }