]> source.dussan.org Git - jgit.git/commitdiff
Use HEAD as default ref for RefLogCommand. 23/4023/4
authorKevin Sawicki <kevin@github.com>
Wed, 17 Aug 2011 15:56:16 +0000 (08:56 -0700)
committerKevin Sawicki <kevin@github.com>
Wed, 17 Aug 2011 15:56:16 +0000 (08:56 -0700)
This mirrors the default command-line behavior.

Change-Id: I4f819410fa6df3064c560beb3184b61fd7bb1f15
Signed-off-by: Kevin Sawicki <kevin@github.com>
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ReflogCommandTest.java
org.eclipse.jgit/src/org/eclipse/jgit/api/ReflogCommand.java

index 03cae44dad23f7f6ceed86667f32f711a6619b5a..78123d86a78702b51301b6d81df065d6681bbcde 100644 (file)
 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 class ReflogCommandTest extends RepositoryTestCase {
                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());
+       }
 }
index 71f680745efb40bd86cad645293825dc9ca0c4d6..bd16e3f9125e95738e86a1450300281f4b9f9303 100644 (file)
@@ -62,7 +62,7 @@ import org.eclipse.jgit.storage.file.ReflogReader;
  */
 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 class ReflogCommand extends GitCommand<Collection<ReflogEntry>> {
 
        /**
         * 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}