Test the reflog message for commit, cherry-pick, revert and merge

Change-Id: I319f09577b3e04f6c31399fe8e57e9a9ad2c8a6c
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Robin Rosenberg 2011-09-08 19:42:19 +02:00 committed by Matthias Sohn
parent 39ad503fcb
commit ad50a0b7c0
4 changed files with 61 additions and 1 deletions

View File

@ -59,6 +59,7 @@
import org.eclipse.jgit.lib.RepositoryTestCase;
import org.eclipse.jgit.merge.ResolveMerger.MergeFailureReason;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.storage.file.ReflogReader;
import org.junit.Test;
/**
@ -223,5 +224,14 @@ private void doCherryPickAndCheckResult(final Git git,
// index shall be unchanged
assertEquals(indexState, indexState(CONTENT));
assertEquals(RepositoryState.SAFE, db.getRepositoryState());
if (reason == null) {
ReflogReader reader = db.getReflogReader(Constants.HEAD);
assertTrue(reader.getLastEntry().getComment()
.startsWith("cherry-pick: "));
reader = db.getReflogReader(db.getBranch());
assertTrue(reader.getLastEntry().getComment()
.startsWith("cherry-pick: "));
}
}
}

View File

@ -109,6 +109,8 @@ public void testSomeCommits() throws NoHeadException, NoMessageException,
assertEquals(l, -1);
ReflogReader reader = db.getReflogReader(Constants.HEAD);
assertTrue(reader.getLastEntry().getComment().startsWith("commit:"));
reader = db.getReflogReader(db.getBranch());
assertTrue(reader.getLastEntry().getComment().startsWith("commit:"));
}
@Test
@ -318,6 +320,9 @@ public void testCommitAmend() throws NoHeadException, NoMessageException,
ReflogReader reader = db.getReflogReader(Constants.HEAD);
assertTrue(reader.getLastEntry().getComment()
.startsWith("commit (amend):"));
reader = db.getReflogReader(db.getBranch());
assertTrue(reader.getLastEntry().getComment()
.startsWith("commit (amend):"));
}
@Test

View File

@ -80,6 +80,13 @@ public void testMergeInItself() throws Exception {
MergeResult result = git.merge().include(db.getRef(Constants.HEAD)).call();
assertEquals(MergeResult.MergeStatus.ALREADY_UP_TO_DATE, result.getMergeStatus());
// no reflog entry written by merge
assertEquals("commit: initial commit",
db
.getReflogReader(Constants.HEAD).getLastEntry().getComment());
assertEquals("commit: initial commit",
db
.getReflogReader(db.getBranch()).getLastEntry().getComment());
}
@Test
@ -92,7 +99,11 @@ public void testAlreadyUpToDate() throws Exception {
MergeResult result = git.merge().include(db.getRef("refs/heads/branch1")).call();
assertEquals(MergeResult.MergeStatus.ALREADY_UP_TO_DATE, result.getMergeStatus());
assertEquals(second, result.getNewHead());
// no reflog entry written by merge
assertEquals("commit: second commit", db
.getReflogReader(Constants.HEAD).getLastEntry().getComment());
assertEquals("commit: second commit", db
.getReflogReader(db.getBranch()).getLastEntry().getComment());
}
@Test
@ -109,6 +120,10 @@ public void testFastForward() throws Exception {
assertEquals(MergeResult.MergeStatus.FAST_FORWARD, result.getMergeStatus());
assertEquals(second, result.getNewHead());
assertEquals("merge refs/heads/master: Fast-forward",
db.getReflogReader(Constants.HEAD).getLastEntry().getComment());
assertEquals("merge refs/heads/master: Fast-forward",
db.getReflogReader(db.getBranch()).getLastEntry().getComment());
}
@Test
@ -136,6 +151,10 @@ public void testFastForwardWithFiles() throws Exception {
assertTrue(new File(db.getWorkTree(), "file2").exists());
assertEquals(MergeResult.MergeStatus.FAST_FORWARD, result.getMergeStatus());
assertEquals(second, result.getNewHead());
assertEquals("merge refs/heads/master: Fast-forward",
db.getReflogReader(Constants.HEAD).getLastEntry().getComment());
assertEquals("merge refs/heads/master: Fast-forward",
db.getReflogReader(db.getBranch()).getLastEntry().getComment());
}
@Test
@ -190,6 +209,14 @@ public void testMergeSuccessAllStrategies(MergeStrategy mergeStrategy)
MergeResult result = git.merge().setStrategy(mergeStrategy)
.include(db.getRef(Constants.MASTER)).call();
assertEquals(MergeStatus.MERGED, result.getMergeStatus());
assertEquals(
"merge refs/heads/master: Merge made by "
+ mergeStrategy.getName() + ".",
db.getReflogReader(Constants.HEAD).getLastEntry().getComment());
assertEquals(
"merge refs/heads/master: Merge made by "
+ mergeStrategy.getName() + ".",
db.getReflogReader(db.getBranch()).getLastEntry().getComment());
}
@Test
@ -370,6 +397,14 @@ public void testMultipleCreationsSameContent() throws Exception {
.setStrategy(MergeStrategy.RESOLVE).call();
assertEquals(MergeStatus.MERGED, result.getMergeStatus());
assertEquals("1\nb(1)\n3\n", read(new File(db.getWorkTree(), "b")));
assertEquals("merge " + secondCommit.getId().getName()
+ ": Merge made by resolve.", db
.getReflogReader(Constants.HEAD)
.getLastEntry().getComment());
assertEquals("merge " + secondCommit.getId().getName()
+ ": Merge made by resolve.", db
.getReflogReader(db.getBranch())
.getLastEntry().getComment());
}
@Test

View File

@ -50,8 +50,10 @@
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.api.errors.JGitInternalException;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.RepositoryTestCase;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.storage.file.ReflogReader;
import org.junit.Test;
/**
@ -100,5 +102,13 @@ public void testRevert() throws IOException, JGitInternalException,
assertEquals("create b", history.next().getFullMessage());
assertEquals("create a", history.next().getFullMessage());
assertFalse(history.hasNext());
ReflogReader reader = db.getReflogReader(Constants.HEAD);
assertTrue(reader.getLastEntry().getComment()
.startsWith("revert: Revert \""));
reader = db.getReflogReader(db.getBranch());
assertTrue(reader.getLastEntry().getComment()
.startsWith("revert: Revert \""));
}
}