java.io.File.mkdir() and mkdirs() report failure as an exceptional return value false. Fix the code which silently ignored this exceptional return value. Change-Id: I41244f4b9d66176e68e2c07e2329cf08492f8619 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>tags/v0.11.1
@@ -62,6 +62,7 @@ import org.eclipse.jgit.lib.ObjectId; | |||
import org.eclipse.jgit.storage.file.FileBasedConfig; | |||
import org.eclipse.jgit.storage.file.LockFile; | |||
import org.eclipse.jgit.util.FS; | |||
import org.eclipse.jgit.util.FileUtils; | |||
/** | |||
* Manages the {@code .eclipse_iplog} file in a project. | |||
@@ -187,8 +188,7 @@ public class IpLogMeta { | |||
*/ | |||
public void syncCQs(File file, FS fs, URL base, String username, | |||
String password) throws IOException, ConfigInvalidException { | |||
if (!file.getParentFile().exists()) | |||
file.getParentFile().mkdirs(); | |||
FileUtils.mkdirs(file.getParentFile(), true); | |||
LockFile lf = new LockFile(file, fs); | |||
if (!lf.lock()) |
@@ -69,6 +69,7 @@ import org.eclipse.jgit.storage.file.FileRepository; | |||
import org.eclipse.jgit.storage.file.WindowCache; | |||
import org.eclipse.jgit.storage.file.WindowCacheConfig; | |||
import org.eclipse.jgit.util.FS; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.eclipse.jgit.util.IO; | |||
import org.eclipse.jgit.util.SystemReader; | |||
import org.junit.After; | |||
@@ -389,7 +390,7 @@ public abstract class LocalDiskRepositoryTestCase { | |||
* the file could not be written. | |||
*/ | |||
protected void write(final File f, final String body) throws IOException { | |||
f.getParentFile().mkdirs(); | |||
FileUtils.mkdirs(f.getParentFile(), true); | |||
Writer w = new OutputStreamWriter(new FileOutputStream(f), "UTF-8"); | |||
try { | |||
w.write(body); |
@@ -59,6 +59,7 @@ import org.eclipse.jgit.revwalk.RevObject; | |||
import org.eclipse.jgit.revwalk.RevTag; | |||
import org.eclipse.jgit.revwalk.RevWalk; | |||
import org.eclipse.jgit.storage.file.LockFile; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.kohsuke.args4j.Argument; | |||
import org.kohsuke.args4j.Option; | |||
@@ -96,8 +97,7 @@ class Iplog extends TextBuiltin { | |||
log.scan(db, rw.parseCommit(start), version); | |||
if (output != null) { | |||
if (!output.getParentFile().exists()) | |||
output.getParentFile().mkdirs(); | |||
FileUtils.mkdirs(output.getParentFile(), true); | |||
LockFile lf = new LockFile(output, db.getFS()); | |||
if (!lf.lock()) | |||
throw die(MessageFormat.format(CLIText.get().cannotLock, output)); |
@@ -90,7 +90,7 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddExistingSingleFile() throws IOException, NoFilepatternException { | |||
File file = new File(db.getWorkTree(), "a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
@@ -106,9 +106,9 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddExistingSingleFileInSubDir() throws IOException, NoFilepatternException { | |||
new File(db.getWorkTree(), "sub").mkdir(); | |||
FileUtils.mkdir(new File(db.getWorkTree(), "sub")); | |||
File file = new File(db.getWorkTree(), "sub/a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
@@ -125,7 +125,7 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddExistingSingleFileTwice() throws IOException, NoFilepatternException { | |||
File file = new File(db.getWorkTree(), "a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
@@ -149,7 +149,7 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddExistingSingleFileTwiceWithCommit() throws Exception { | |||
File file = new File(db.getWorkTree(), "a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
@@ -175,7 +175,7 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddRemovedFile() throws Exception { | |||
File file = new File(db.getWorkTree(), "a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
@@ -197,7 +197,7 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddRemovedCommittedFile() throws Exception { | |||
File file = new File(db.getWorkTree(), "a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
@@ -223,13 +223,13 @@ public class AddCommandTest extends RepositoryTestCase { | |||
// prepare conflict | |||
File file = new File(db.getWorkTree(), "a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
File file2 = new File(db.getWorkTree(), "b.txt"); | |||
file2.createNewFile(); | |||
FileUtils.createNewFile(file2); | |||
writer = new PrintWriter(file2); | |||
writer.print("content b"); | |||
writer.close(); | |||
@@ -275,13 +275,13 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddTwoFiles() throws Exception { | |||
File file = new File(db.getWorkTree(), "a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
File file2 = new File(db.getWorkTree(), "b.txt"); | |||
file2.createNewFile(); | |||
FileUtils.createNewFile(file2); | |||
writer = new PrintWriter(file2); | |||
writer.print("content b"); | |||
writer.close(); | |||
@@ -296,15 +296,15 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddFolder() throws Exception { | |||
new File(db.getWorkTree(), "sub").mkdir(); | |||
FileUtils.mkdir(new File(db.getWorkTree(), "sub")); | |||
File file = new File(db.getWorkTree(), "sub/a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
File file2 = new File(db.getWorkTree(), "sub/b.txt"); | |||
file2.createNewFile(); | |||
FileUtils.createNewFile(file2); | |||
writer = new PrintWriter(file2); | |||
writer.print("content b"); | |||
writer.close(); | |||
@@ -319,21 +319,21 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddIgnoredFile() throws Exception { | |||
new File(db.getWorkTree(), "sub").mkdir(); | |||
FileUtils.mkdir(new File(db.getWorkTree(), "sub")); | |||
File file = new File(db.getWorkTree(), "sub/a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
File ignoreFile = new File(db.getWorkTree(), ".gitignore"); | |||
ignoreFile.createNewFile(); | |||
FileUtils.createNewFile(ignoreFile); | |||
writer = new PrintWriter(ignoreFile); | |||
writer.print("sub/b.txt"); | |||
writer.close(); | |||
File file2 = new File(db.getWorkTree(), "sub/b.txt"); | |||
file2.createNewFile(); | |||
FileUtils.createNewFile(file2); | |||
writer = new PrintWriter(file2); | |||
writer.print("content b"); | |||
writer.close(); | |||
@@ -348,15 +348,15 @@ public class AddCommandTest extends RepositoryTestCase { | |||
@Test | |||
public void testAddWholeRepo() throws Exception { | |||
new File(db.getWorkTree(), "sub").mkdir(); | |||
FileUtils.mkdir(new File(db.getWorkTree(), "sub")); | |||
File file = new File(db.getWorkTree(), "sub/a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
File file2 = new File(db.getWorkTree(), "sub/b.txt"); | |||
file2.createNewFile(); | |||
FileUtils.createNewFile(file2); | |||
writer = new PrintWriter(file2); | |||
writer.print("content b"); | |||
writer.close(); | |||
@@ -375,15 +375,15 @@ public class AddCommandTest extends RepositoryTestCase { | |||
// file c exists in workdir but not in index -> added | |||
@Test | |||
public void testAddWithoutParameterUpdate() throws Exception { | |||
new File(db.getWorkTree(), "sub").mkdir(); | |||
FileUtils.mkdir(new File(db.getWorkTree(), "sub")); | |||
File file = new File(db.getWorkTree(), "sub/a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
File file2 = new File(db.getWorkTree(), "sub/b.txt"); | |||
file2.createNewFile(); | |||
FileUtils.createNewFile(file2); | |||
writer = new PrintWriter(file2); | |||
writer.print("content b"); | |||
writer.close(); | |||
@@ -400,7 +400,7 @@ public class AddCommandTest extends RepositoryTestCase { | |||
// new unstaged file sub/c.txt | |||
File file3 = new File(db.getWorkTree(), "sub/c.txt"); | |||
file3.createNewFile(); | |||
FileUtils.createNewFile(file3); | |||
writer = new PrintWriter(file3); | |||
writer.print("content c"); | |||
writer.close(); | |||
@@ -429,15 +429,15 @@ public class AddCommandTest extends RepositoryTestCase { | |||
// file c exists in workdir but not in index -> unchanged | |||
@Test | |||
public void testAddWithParameterUpdate() throws Exception { | |||
new File(db.getWorkTree(), "sub").mkdir(); | |||
FileUtils.mkdir(new File(db.getWorkTree(), "sub")); | |||
File file = new File(db.getWorkTree(), "sub/a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); | |||
File file2 = new File(db.getWorkTree(), "sub/b.txt"); | |||
file2.createNewFile(); | |||
FileUtils.createNewFile(file2); | |||
writer = new PrintWriter(file2); | |||
writer.print("content b"); | |||
writer.close(); | |||
@@ -454,7 +454,7 @@ public class AddCommandTest extends RepositoryTestCase { | |||
// new unstaged file sub/c.txt | |||
File file3 = new File(db.getWorkTree(), "sub/c.txt"); | |||
file3.createNewFile(); | |||
FileUtils.createNewFile(file3); | |||
writer = new PrintWriter(file3); | |||
writer.print("content c"); | |||
writer.close(); |
@@ -66,6 +66,7 @@ import org.eclipse.jgit.lib.RefUpdate; | |||
import org.eclipse.jgit.lib.RepositoryTestCase; | |||
import org.eclipse.jgit.revwalk.RevCommit; | |||
import org.eclipse.jgit.treewalk.TreeWalk; | |||
import org.eclipse.jgit.util.FileUtils; | |||
public class CommitAndLogCommandTests extends RepositoryTestCase { | |||
public void testSomeCommits() throws NoHeadException, NoMessageException, | |||
@@ -169,7 +170,7 @@ public class CommitAndLogCommandTests extends RepositoryTestCase { | |||
JGitInternalException, WrongRepositoryStateException, | |||
NoFilepatternException { | |||
File file = new File(db.getWorkTree(), "a.txt"); | |||
file.createNewFile(); | |||
FileUtils.createNewFile(file); | |||
PrintWriter writer = new PrintWriter(file); | |||
writer.print("content"); | |||
writer.close(); |
@@ -51,6 +51,7 @@ import java.io.IOException; | |||
import org.eclipse.jgit.lib.Repository; | |||
import org.eclipse.jgit.lib.RepositoryTestCase; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.junit.Before; | |||
import org.junit.Test; | |||
@@ -93,16 +94,8 @@ public class InitCommandTest extends RepositoryTestCase { | |||
public static File createTempDirectory(String name) throws IOException { | |||
final File temp; | |||
temp = File.createTempFile(name, Long.toString(System.nanoTime())); | |||
if (!(temp.delete())) { | |||
throw new IOException("Could not delete temp file: " | |||
+ temp.getAbsolutePath()); | |||
} | |||
if (!(temp.mkdir())) { | |||
throw new IOException("Could not create temp directory: " | |||
+ temp.getAbsolutePath()); | |||
} | |||
FileUtils.delete(temp); | |||
FileUtils.mkdir(temp); | |||
return temp; | |||
} | |||
@@ -53,6 +53,7 @@ import java.util.TreeSet; | |||
import org.eclipse.jgit.treewalk.FileTreeIterator; | |||
import org.eclipse.jgit.treewalk.FileTreeIteratorWithTimeControl; | |||
import org.eclipse.jgit.treewalk.NameConflictTreeWalk; | |||
import org.eclipse.jgit.util.FileUtils; | |||
public class RacyGitTests extends RepositoryTestCase { | |||
public void testIterator() throws IllegalStateException, IOException, | |||
@@ -61,19 +62,19 @@ public class RacyGitTests extends RepositoryTestCase { | |||
File lastFile = null; | |||
for (int i = 0; i < 10; i++) { | |||
lastFile = new File(db.getWorkTree(), "0." + i); | |||
lastFile.createNewFile(); | |||
FileUtils.createNewFile(lastFile); | |||
if (i == 5) | |||
fsTick(lastFile); | |||
} | |||
modTimes.add(fsTick(lastFile)); | |||
for (int i = 0; i < 10; i++) { | |||
lastFile = new File(db.getWorkTree(), "1." + i); | |||
lastFile.createNewFile(); | |||
FileUtils.createNewFile(lastFile); | |||
} | |||
modTimes.add(fsTick(lastFile)); | |||
for (int i = 0; i < 10; i++) { | |||
lastFile = new File(db.getWorkTree(), "2." + i); | |||
lastFile.createNewFile(); | |||
FileUtils.createNewFile(lastFile); | |||
if (i % 4 == 0) | |||
fsTick(lastFile); | |||
} |
@@ -68,6 +68,7 @@ import org.eclipse.jgit.lib.ObjectId; | |||
import org.eclipse.jgit.lib.ObjectReader; | |||
import org.eclipse.jgit.revwalk.RevBlob; | |||
import org.eclipse.jgit.transport.PackedObjectInfo; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.junit.After; | |||
import org.junit.Before; | |||
import org.junit.Test; | |||
@@ -176,7 +177,7 @@ public class AbbreviationTest extends LocalDiskRepositoryTestCase { | |||
File packDir = new File(db.getObjectDatabase().getDirectory(), "pack"); | |||
File idxFile = new File(packDir, packName + ".idx"); | |||
File packFile = new File(packDir, packName + ".pack"); | |||
packDir.mkdir(); | |||
FileUtils.mkdir(packDir, true); | |||
OutputStream dst = new BufferedOutputStream(new FileOutputStream( | |||
idxFile)); | |||
try { |
@@ -48,6 +48,7 @@ import static org.junit.Assert.assertEquals; | |||
import java.io.File; | |||
import org.eclipse.jgit.junit.LocalDiskRepositoryTestCase; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.junit.Test; | |||
public class FileRepositoryBuilderTest extends LocalDiskRepositoryTestCase { | |||
@@ -55,7 +56,7 @@ public class FileRepositoryBuilderTest extends LocalDiskRepositoryTestCase { | |||
public void testShouldAutomagicallyDetectGitDirectory() throws Exception { | |||
FileRepository r = createWorkRepository(); | |||
File d = new File(r.getDirectory(), "sub-dir"); | |||
d.mkdir(); | |||
FileUtils.mkdir(d); | |||
assertEquals(r.getDirectory(), new FileRepositoryBuilder() | |||
.findGitDir(d).getGitDir()); |
@@ -59,6 +59,7 @@ import org.eclipse.jgit.lib.ConfigConstants; | |||
import org.eclipse.jgit.lib.Constants; | |||
import org.eclipse.jgit.lib.Repository; | |||
import org.eclipse.jgit.util.FS; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.junit.Test; | |||
/** | |||
@@ -182,12 +183,12 @@ public class RepositorySetupWorkDirTest extends LocalDiskRepositoryTestCase { | |||
} | |||
} | |||
private File getFile(String... pathComponents) { | |||
private File getFile(String... pathComponents) throws IOException { | |||
String rootPath = new File(new File("target"), "trash").getPath(); | |||
for (String pathComponent : pathComponents) | |||
rootPath = rootPath + File.separatorChar + pathComponent; | |||
File result = new File(rootPath); | |||
result.mkdir(); | |||
FileUtils.mkdirs(result, true); | |||
return result; | |||
} | |||
@@ -81,6 +81,7 @@ import org.eclipse.jgit.lib.TreeFormatter; | |||
import org.eclipse.jgit.revwalk.RevCommit; | |||
import org.eclipse.jgit.revwalk.RevTag; | |||
import org.eclipse.jgit.revwalk.RevWalk; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.junit.Test; | |||
public class T0003_BasicTest extends SampleDataRepositoryTestCase { | |||
@@ -202,7 +203,7 @@ public class T0003_BasicTest extends SampleDataRepositoryTestCase { | |||
throws IOException { | |||
File repo1Parent = new File(trash.getParentFile(), "r1"); | |||
File workdir = new File(trash.getParentFile(), "rw"); | |||
workdir.mkdir(); | |||
FileUtils.mkdir(workdir); | |||
FileRepository repo1initial = new FileRepository(new File(repo1Parent, | |||
Constants.DOT_GIT)); | |||
repo1initial.create(); | |||
@@ -231,7 +232,7 @@ public class T0003_BasicTest extends SampleDataRepositoryTestCase { | |||
throws IOException { | |||
File repo1Parent = new File(trash.getParentFile(), "r1"); | |||
File workdir = new File(trash.getParentFile(), "rw"); | |||
workdir.mkdir(); | |||
FileUtils.mkdir(workdir); | |||
FileRepository repo1initial = new FileRepository(new File(repo1Parent, | |||
Constants.DOT_GIT)); | |||
repo1initial.create(); |
@@ -71,6 +71,7 @@ import org.eclipse.jgit.lib.ObjectId; | |||
import org.eclipse.jgit.lib.ObjectInserter; | |||
import org.eclipse.jgit.lib.ObjectLoader; | |||
import org.eclipse.jgit.lib.ObjectStream; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.eclipse.jgit.util.IO; | |||
import org.junit.After; | |||
import org.junit.Before; | |||
@@ -567,7 +568,7 @@ public class UnpackedObjectTest extends LocalDiskRepositoryTestCase { | |||
private void write(ObjectId id, byte[] data) throws IOException { | |||
File path = path(id); | |||
path.getParentFile().mkdirs(); | |||
FileUtils.mkdirs(path.getParentFile()); | |||
FileOutputStream out = new FileOutputStream(path); | |||
try { | |||
out.write(data); |
@@ -54,6 +54,7 @@ import java.io.OutputStreamWriter; | |||
import org.eclipse.jgit.lib.RepositoryTestCase; | |||
import org.eclipse.jgit.transport.OpenSshConfig.Host; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.junit.Before; | |||
import org.junit.Test; | |||
@@ -69,10 +70,10 @@ public class OpenSshConfigTest extends RepositoryTestCase { | |||
super.setUp(); | |||
home = new File(trash, "home"); | |||
home.mkdir(); | |||
FileUtils.mkdir(home); | |||
configFile = new File(new File(home, ".ssh"), "config"); | |||
configFile.getParentFile().mkdir(); | |||
FileUtils.mkdir(configFile.getParentFile()); | |||
System.setProperty("user.name", "jex_junit"); | |||
osc = new OpenSshConfig(home, configFile); |
@@ -110,8 +110,7 @@ public class FileTreeIteratorTest extends RepositoryTestCase { | |||
public void testEmptyIfRootIsEmpty() throws Exception { | |||
final File r = new File(trash, "not-existing-file"); | |||
assertFalse(r.exists()); | |||
r.mkdir(); | |||
assertTrue(r.isDirectory()); | |||
FileUtils.mkdir(r); | |||
final FileTreeIterator fti = new FileTreeIterator(r, db.getFS(), | |||
db.getConfig().get(WorkingTreeOptions.KEY)); |
@@ -71,7 +71,7 @@ public class FileUtilTest { | |||
@Test | |||
public void testDeleteFile() throws IOException { | |||
File f = new File(trash, "test"); | |||
assertTrue(f.createNewFile()); | |||
FileUtils.createNewFile(f); | |||
FileUtils.delete(f); | |||
assertFalse(f.exists()); | |||
@@ -92,10 +92,10 @@ public class FileUtilTest { | |||
@Test | |||
public void testDeleteRecursive() throws IOException { | |||
File f1 = new File(trash, "test/test/a"); | |||
f1.mkdirs(); | |||
f1.createNewFile(); | |||
FileUtils.mkdirs(f1.getParentFile()); | |||
FileUtils.createNewFile(f1); | |||
File f2 = new File(trash, "test/test/b"); | |||
f2.createNewFile(); | |||
FileUtils.createNewFile(f2); | |||
File d = new File(trash, "test"); | |||
FileUtils.delete(d, FileUtils.RECURSIVE); | |||
assertFalse(d.exists()); | |||
@@ -132,7 +132,7 @@ public class FileUtilTest { | |||
assertTrue(d.delete()); | |||
File f = new File(trash, "test"); | |||
assertTrue(f.createNewFile()); | |||
FileUtils.createNewFile(f); | |||
try { | |||
FileUtils.mkdir(d); | |||
fail("creation of directory having same path as existing file must" | |||
@@ -164,7 +164,7 @@ public class FileUtilTest { | |||
FileUtils.delete(root, FileUtils.RECURSIVE); | |||
File f = new File(trash, "test"); | |||
assertTrue(f.createNewFile()); | |||
FileUtils.createNewFile(f); | |||
try { | |||
FileUtils.mkdirs(d); | |||
fail("creation of directory having path conflicting with existing" |
@@ -9,6 +9,13 @@ | |||
<Bug pattern="DM_GC" /> | |||
</Match> | |||
<!-- Silence ignoring return value of mkdirs --> | |||
<Match> | |||
<Class name="org.eclipse.jgit.dircache.DirCacheCheckout" /> | |||
<Method name="checkout" /> | |||
<Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" /> | |||
</Match> | |||
<!-- Silence the construction of our magic String instance. | |||
--> | |||
<Match> |
@@ -509,7 +509,7 @@ public class RebaseCommand extends GitCommand<RebaseResult> { | |||
Collections.reverse(cherryPickList); | |||
// create the folder for the meta information | |||
rebaseDir.mkdir(); | |||
FileUtils.mkdir(rebaseDir); | |||
createFile(repo.getDirectory(), Constants.ORIG_HEAD, headId.name()); | |||
createFile(rebaseDir, REBASE_HEAD, headId.name()); |
@@ -419,7 +419,9 @@ public class DirCacheCheckout { | |||
for (String path : updated.keySet()) { | |||
// ... create/overwrite this file ... | |||
file = new File(repo.getWorkTree(), path); | |||
file.getParentFile().mkdirs(); | |||
if (!file.getParentFile().mkdirs()) { | |||
// ignore | |||
} | |||
file.createNewFile(); | |||
DirCacheEntry entry = dc.getEntry(path); | |||
checkoutEntry(repo, file, entry); |
@@ -72,6 +72,7 @@ import org.eclipse.jgit.dircache.DirCache; | |||
import org.eclipse.jgit.errors.CorruptObjectException; | |||
import org.eclipse.jgit.errors.NotSupportedException; | |||
import org.eclipse.jgit.events.IndexChangedEvent; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.eclipse.jgit.util.RawParseUtils; | |||
/** | |||
@@ -937,7 +938,7 @@ public class GitIndex { | |||
ObjectLoader ol = db.open(e.sha1, Constants.OBJ_BLOB); | |||
File file = new File(wd, e.getName()); | |||
file.delete(); | |||
file.getParentFile().mkdirs(); | |||
FileUtils.mkdirs(file.getParentFile(), true); | |||
FileOutputStream dst = new FileOutputStream(file); | |||
try { | |||
ol.copyTo(dst); |
@@ -239,11 +239,11 @@ public class FileRepository extends Repository { | |||
throw new IllegalStateException(MessageFormat.format( | |||
JGitText.get().repositoryAlreadyExists, getDirectory())); | |||
} | |||
getDirectory().mkdirs(); | |||
FileUtils.mkdirs(getDirectory(), true); | |||
refs.create(); | |||
objectDatabase.create(); | |||
new File(getDirectory(), "branches").mkdir(); | |||
FileUtils.mkdir(new File(getDirectory(), "branches")); | |||
RefUpdate head = updateRef(Constants.HEAD); | |||
head.disableRefLog(); |
@@ -60,6 +60,7 @@ import org.eclipse.jgit.JGitText; | |||
import org.eclipse.jgit.lib.Constants; | |||
import org.eclipse.jgit.lib.ObjectId; | |||
import org.eclipse.jgit.util.FS; | |||
import org.eclipse.jgit.util.FileUtils; | |||
/** | |||
* Git style file locking and replacement. | |||
@@ -122,7 +123,7 @@ public class LockFile { | |||
* does not hold the lock. | |||
*/ | |||
public boolean lock() throws IOException { | |||
lck.getParentFile().mkdirs(); | |||
FileUtils.mkdirs(lck.getParentFile(), true); | |||
if (lck.createNewFile()) { | |||
haveLck = true; | |||
try { |
@@ -171,9 +171,9 @@ public class ObjectDirectory extends FileObjectDatabase { | |||
@Override | |||
public void create() throws IOException { | |||
objects.mkdirs(); | |||
infoDirectory.mkdir(); | |||
packDirectory.mkdir(); | |||
FileUtils.mkdirs(objects); | |||
FileUtils.mkdir(infoDirectory); | |||
FileUtils.mkdir(packDirectory); | |||
} | |||
@Override | |||
@@ -491,7 +491,7 @@ public class ObjectDirectory extends FileObjectDatabase { | |||
// directories are always lazily created. Note that we | |||
// try the rename first as the directory likely does exist. | |||
// | |||
dst.getParentFile().mkdir(); | |||
FileUtils.mkdir(dst.getParentFile()); | |||
if (tmp.renameTo(dst)) { | |||
dst.setReadOnly(); | |||
unpackedObjectCache.add(id); |
@@ -97,6 +97,7 @@ import org.eclipse.jgit.revwalk.RevObject; | |||
import org.eclipse.jgit.revwalk.RevTag; | |||
import org.eclipse.jgit.revwalk.RevWalk; | |||
import org.eclipse.jgit.util.FS; | |||
import org.eclipse.jgit.util.FileUtils; | |||
import org.eclipse.jgit.util.IO; | |||
import org.eclipse.jgit.util.RawParseUtils; | |||
import org.eclipse.jgit.util.RefList; | |||
@@ -190,13 +191,14 @@ public class RefDirectory extends RefDatabase { | |||
} | |||
public void create() throws IOException { | |||
refsDir.mkdir(); | |||
logsDir.mkdir(); | |||
logsRefsDir.mkdir(); | |||
new File(refsDir, R_HEADS.substring(R_REFS.length())).mkdir(); | |||
new File(refsDir, R_TAGS.substring(R_REFS.length())).mkdir(); | |||
new File(logsRefsDir, R_HEADS.substring(R_REFS.length())).mkdir(); | |||
FileUtils.mkdir(refsDir); | |||
FileUtils.mkdir(logsDir); | |||
FileUtils.mkdir(logsRefsDir); | |||
FileUtils.mkdir(new File(refsDir, R_HEADS.substring(R_REFS.length()))); | |||
FileUtils.mkdir(new File(refsDir, R_TAGS.substring(R_REFS.length()))); | |||
FileUtils.mkdir(new File(logsRefsDir, | |||
R_HEADS.substring(R_REFS.length()))); | |||
} | |||
@Override |