diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java index 45c6c41f2..4b512ed09 100644 --- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java +++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java @@ -293,17 +293,31 @@ public abstract class LocalDiskRepositoryTestCase { * the repository could not be created in the temporary area */ private FileRepository createRepository(boolean bare) throws IOException { - String uniqueId = System.currentTimeMillis() + "_" + (testCount++); - String gitdirName = "test" + uniqueId + (bare ? "" : "/") + Constants.DOT_GIT; - File gitdir = new File(trash, gitdirName).getCanonicalFile(); + File gitdir = createUniqueTestGitDir(bare); FileRepository db = new FileRepository(gitdir); - assertFalse(gitdir.exists()); db.create(); toClose.add(db); return db; } + /** + * Creates a new unique directory for a test repository + * + * @param bare + * true for a bare repository; false for a repository with a + * working directory + * @return a unique directory for a test repository + * @throws IOException + */ + protected File createUniqueTestGitDir(boolean bare) throws IOException { + String uniqueId = System.currentTimeMillis() + "_" + (testCount++); + String gitdirName = "test" + uniqueId + (bare ? "" : "/") + + Constants.DOT_GIT; + File gitdir = new File(trash, gitdirName).getCanonicalFile(); + return gitdir; + } + /** * Run a hook script in the repository, returning the exit status. * diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/GitConstructionTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/GitConstructionTest.java index 4075586b5..0e0b18732 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/GitConstructionTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/GitConstructionTest.java @@ -68,7 +68,8 @@ public class GitConstructionTest extends RepositoryTestCase { git.commit().setMessage("Initial commit").call(); bareRepo = Git.cloneRepository().setBare(true) - .setURI(db.getDirectory().toURI().toString()).call() + .setURI(db.getDirectory().toURI().toString()) + .setDirectory(createUniqueTestGitDir(true)).call() .getRepository(); }