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.
*/
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())
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;
* 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);
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;
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));
@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();
@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();
@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();
@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();
@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();
@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();
// 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();
@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();
@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();
@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();
@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();
// 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();
// 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();
// 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();
// 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();
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,
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();
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;
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;
}
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,
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);
}
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;
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 {
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 {
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());
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;
/**
}
}
- 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;
}
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 {
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();
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();
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;
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);
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;
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);
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));
@Test
public void testDeleteFile() throws IOException {
File f = new File(trash, "test");
- assertTrue(f.createNewFile());
+ FileUtils.createNewFile(f);
FileUtils.delete(f);
assertFalse(f.exists());
@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());
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"
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"
<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>
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());
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);
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;
/**
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);
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();
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.
* does not hold the lock.
*/
public boolean lock() throws IOException {
- lck.getParentFile().mkdirs();
+ FileUtils.mkdirs(lck.getParentFile(), true);
if (lck.createNewFile()) {
haveLck = true;
try {
@Override
public void create() throws IOException {
- objects.mkdirs();
- infoDirectory.mkdir();
- packDirectory.mkdir();
+ FileUtils.mkdirs(objects);
+ FileUtils.mkdir(infoDirectory);
+ FileUtils.mkdir(packDirectory);
}
@Override
// 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);
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;
}
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