Use HEAD as default ref for RefLogCommand.
This mirrors the default command-line behavior. Change-Id: I4f819410fa6df3064c560beb3184b61fd7bb1f15 Signed-off-by: Kevin Sawicki <kevin@github.com>
This commit is contained in:
parent
148595fb54
commit
a7aaf88b2e
|
@ -43,10 +43,12 @@
|
|||
package org.eclipse.jgit.api;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.eclipse.jgit.lib.Constants;
|
||||
import org.eclipse.jgit.lib.ObjectId;
|
||||
import org.eclipse.jgit.lib.RepositoryTestCase;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
import org.eclipse.jgit.storage.file.ReflogEntry;
|
||||
|
@ -71,20 +73,49 @@ public void setUp() throws Exception {
|
|||
writeTrashFile(FILE, "Hello world");
|
||||
git.add().addFilepattern(FILE).call();
|
||||
commit1 = git.commit().setMessage("Initial commit").call();
|
||||
git.checkout().setCreateBranch(true).setName("b1").call();
|
||||
git.rm().addFilepattern(FILE).call();
|
||||
commit2 = git.commit().setMessage("Removed file").call();
|
||||
git.notesAdd().setObjectId(commit1)
|
||||
.setMessage("data").call();
|
||||
git.notesAdd().setObjectId(commit1).setMessage("data").call();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test getting the HEAD reflog
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
@Test
|
||||
public void testReflog() throws Exception {
|
||||
public void testHeadReflog() throws Exception {
|
||||
Collection<ReflogEntry> reflog = git.reflog().call();
|
||||
assertTrue(reflog.size() == 2);
|
||||
assertNotNull(reflog);
|
||||
assertEquals(3, reflog.size());
|
||||
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[reflog.size()]);
|
||||
assertEquals(reflogs[1].getComment(), "commit: Initial commit");
|
||||
assertEquals(reflogs[2].getComment(), "commit: Initial commit");
|
||||
assertEquals(reflogs[2].getNewId(), commit1.getId());
|
||||
assertEquals(reflogs[2].getOldId(), ObjectId.zeroId());
|
||||
assertEquals(reflogs[1].getNewId(), commit1.getId());
|
||||
assertEquals(reflogs[1].getOldId(), commit1.getId());
|
||||
assertEquals(reflogs[0].getComment(), "commit: Removed file");
|
||||
assertEquals(reflogs[0].getNewId(), commit2.getId());
|
||||
assertEquals(reflogs[0].getOldId(), commit1.getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test getting the reflog for an explicit branch
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
@Test
|
||||
public void testBranchReflog() throws Exception {
|
||||
Collection<ReflogEntry> reflog = git.reflog()
|
||||
.setRef(Constants.R_HEADS + "b1").call();
|
||||
assertNotNull(reflog);
|
||||
assertEquals(2, reflog.size());
|
||||
ReflogEntry[] reflogs = reflog.toArray(new ReflogEntry[reflog.size()]);
|
||||
assertEquals(reflogs[0].getComment(), "commit: Removed file");
|
||||
assertEquals(reflogs[0].getNewId(), commit2.getId());
|
||||
assertEquals(reflogs[0].getOldId(), commit1.getId());
|
||||
assertEquals(reflogs[1].getNewId(), commit1.getId());
|
||||
assertEquals(reflogs[1].getOldId(), ObjectId.zeroId());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
*/
|
||||
public class ReflogCommand extends GitCommand<Collection<ReflogEntry>> {
|
||||
|
||||
private String ref = Constants.R_HEADS + Constants.MASTER;
|
||||
private String ref = Constants.HEAD;
|
||||
|
||||
/**
|
||||
* @param repo
|
||||
|
@ -73,7 +73,7 @@ public ReflogCommand(Repository repo) {
|
|||
|
||||
/**
|
||||
* The ref used for the reflog operation. If no ref is set, the default
|
||||
* value of refs/heads/master will be used.
|
||||
* value of HEAD will be used.
|
||||
*
|
||||
* @param ref
|
||||
* @return {@code this}
|
||||
|
|
Loading…
Reference in New Issue