Browse Source

Enhance RepositoryTestCase.commitFile() to work on empty repository

Change-Id: Ic64497f0eedf8996ba593ca52dc9a040732a5b24
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-3.2
Matthias Sohn 11 years ago committed by Gerrit Code Review @ Eclipse.org
parent
commit
e649287502
  1. 13
      org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/RepositoryTestCase.java

13
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/RepositoryTestCase.java

@ -463,16 +463,25 @@ public abstract class RepositoryTestCase extends LocalDiskRepositoryTestCase {
protected RevCommit commitFile(String filename, String contents, String branch) {
try {
Git git = new Git(db);
String originalBranch = git.getRepository().getFullBranch();
if (git.getRepository().getRef(branch) == null)
Repository repo = git.getRepository();
String originalBranch = repo.getFullBranch();
boolean empty = repo.resolve(Constants.HEAD) == null;
if (!empty) {
if (repo.getRef(branch) == null)
git.branchCreate().setName(branch).call();
git.checkout().setName(branch).call();
}
writeTrashFile(filename, contents);
git.add().addFilepattern(filename).call();
RevCommit commit = git.commit()
.setMessage(branch + ": " + filename).call();
if (originalBranch != null)
git.checkout().setName(originalBranch).call();
else if (empty)
git.branchCreate().setName(branch).setStartPoint(commit).call();
return commit;
} catch (IOException e) {
throw new RuntimeException(e);

Loading…
Cancel
Save