summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddharth Kannan <kannan.siddharth12@gmail.com>2017-02-25 07:24:47 +0000
committerJunio C Hamano <gitster@pobox.com>2017-03-01 15:19:19 -0800
commitac16de1edfb9ac1d08797f0675c97822b024754d (patch)
tree1e5515b5ece43dbfd4af7d9234fc05147ce419ef
parent3817cebabc7270349eb43beff20e48d3dd8c1d22 (diff)
downloadgit-sk/dash-is-previous.tar.gz
revert.c: delegate handling of "-" shorthand to setup_revisionssk/dash-is-previous
revert.c:run_sequencer calls setup_revisions right after replacing "-" with "@{-1}" for this shorthand. A previous patch taught setup_revisions to handle this shorthand by doing the required replacement inside revision.c:get_sha1_1. Hence, the code here is redundant and has been removed. This patch also adds a test to check that revert recognizes the "-" shorthand. Signed-off-by: Siddharth Kannan <kannan.siddharth12@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/revert.c2
-rwxr-xr-xt/t3514-revert-shorthand.sh25
2 files changed, 25 insertions, 2 deletions
diff --git a/builtin/revert.c b/builtin/revert.c
index 4ca5b51544..0bc6657319 100644
--- a/builtin/revert.c
+++ b/builtin/revert.c
@@ -155,8 +155,6 @@ static int run_sequencer(int argc, const char **argv, struct replay_opts *opts)
opts->revs->no_walk = REVISION_WALK_NO_WALK_UNSORTED;
if (argc < 2)
usage_with_options(usage_str, options);
- if (!strcmp(argv[1], "-"))
- argv[1] = "@{-1}";
memset(&s_r_opt, 0, sizeof(s_r_opt));
s_r_opt.assume_dashdash = 1;
argc = setup_revisions(argc, argv, opts->revs, &s_r_opt);
diff --git a/t/t3514-revert-shorthand.sh b/t/t3514-revert-shorthand.sh
new file mode 100755
index 0000000000..b802e1d367
--- /dev/null
+++ b/t/t3514-revert-shorthand.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+test_description='log can show previous branch using shorthand - for @{-1}'
+
+. ./test-lib.sh
+
+test_expect_success 'setup' '
+ test_commit first
+'
+
+test_expect_success 'setup branches' '
+ echo "hello" >hello &&
+ cat hello >expect &&
+ git add hello &&
+ git commit -m "hello first commit" &&
+ echo "world" >>hello &&
+ git commit -am "hello second commit" &&
+ git checkout -b testing-1 &&
+ git checkout master &&
+ git revert --no-edit - &&
+ cat hello >actual &&
+ test_cmp expect actual
+'
+
+test_done