summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit
diff options
context:
space:
mode:
authorAndrey Loskutov <loskutov@gmx.de>2015-12-28 21:59:01 +0100
committerAndrey Loskutov <loskutov@gmx.de>2015-12-29 15:00:17 +0100
commit97b4c02cdaa3a62764a7407e1cab1b16d984d9de (patch)
treef88bb776bf38d9c347ee3229d62be23aa9dde443 /org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit
parent0505657d6a7dd4575a64ddfb5c0928870fe5843b (diff)
downloadjgit-97b4c02cdaa3a62764a7407e1cab1b16d984d9de.tar.gz
jgit-97b4c02cdaa3a62764a7407e1cab1b16d984d9de.zip
reset command: provide convenient and meaningful options help
This commit changes the jgit "reset" command line options help from this: jgit reset name [VAL ...] [-- path ... ...] [--hard] [--help (-h)] [--mixed] [--soft] name : Reset current HEAD to the specified state [...] to this: jgit reset [commit-ish] [path ... ...] [-- path ... ...] [--hard] [--help (-h)] [--mixed] [--soft] commit-ish : Reset to given reference name [...] Bug: 484951 Change-Id: I614e71101b4f9f46ef8f02379d1a9d135f3292d2 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
Diffstat (limited to 'org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit')
-rw-r--r--org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ResetTest.java32
1 files changed, 27 insertions, 5 deletions
diff --git a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ResetTest.java b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ResetTest.java
index dae477928b..8cdd45ac7b 100644
--- a/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ResetTest.java
+++ b/org.eclipse.jgit.pgm.test/tst/org/eclipse/jgit/pgm/ResetTest.java
@@ -48,6 +48,7 @@ import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.lib.CLIRepositoryTestCase;
import org.eclipse.jgit.revwalk.RevCommit;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
public class ResetTest extends CLIRepositoryTestCase {
@@ -62,6 +63,13 @@ public class ResetTest extends CLIRepositoryTestCase {
}
@Test
+ public void testZombieArgument_Bug484951() throws Exception {
+ String[] result = execute("git reset -h");
+ assertFalse("Unexpected argument: " + result[0],
+ result[0].contains("[VAL ...]"));
+ }
+
+ @Test
public void testResetSelf() throws Exception {
RevCommit commit = git.commit().setMessage("initial commit").call();
assertStringArrayEquals("",
@@ -91,15 +99,28 @@ public class ResetTest extends CLIRepositoryTestCase {
@Test
public void testResetPathDoubleDash() throws Exception {
- resetPath(true);
+ resetPath(true, true);
}
@Test
public void testResetPathNoDoubleDash() throws Exception {
- resetPath(false);
+ resetPath(false, true);
+ }
+
+ @Test
+ public void testResetPathDoubleDashNoRef() throws Exception {
+ resetPath(true, false);
+ }
+
+ @Ignore("Currently we cannote recognize if a name is a commit-ish or a path, "
+ + "so 'git reset a' will not work if 'a' is not a branch name but a file path")
+ @Test
+ public void testResetPathNoDoubleDashNoRef() throws Exception {
+ resetPath(false, false);
}
- private void resetPath(boolean useDoubleDash) throws Exception {
+ private void resetPath(boolean useDoubleDash, boolean supplyCommit)
+ throws Exception {
// create files a and b
writeTrashFile("a", "Hello world a");
writeTrashFile("b", "Hello world b");
@@ -115,8 +136,9 @@ public class ResetTest extends CLIRepositoryTestCase {
git.add().addFilepattern(".").call();
// reset only file a
- String cmd = String.format("git reset %s%s a", commit.getId().name(),
- (useDoubleDash) ? " --" : "");
+ String cmd = String.format("git reset %s%s a",
+ supplyCommit ? commit.getId().name() : "",
+ useDoubleDash ? " --" : "");
assertStringArrayEquals("", execute(cmd));
assertEquals(commit.getId(),
git.getRepository().exactRef("HEAD").getObjectId());