[PATCH 5/6 v5] merge.c: delegate handling of "-" shorthand to revision.c:get_sha1
From: Siddharth Kannan <hidden>
Date: 2017-02-25 07:25:30
Subsystem:
the rest · Maintainer:
Linus Torvalds
The callchain for handling each argument contains the function
revision.c:get_sha1 where the shorthand for "-" ~ "@{-1}" has already been
implemented in a previous patch; the complete callchain leading to that
function is:
1. merge.c:collect_parents
2. commit.c:get_merge_parent : this function calls revision.c:get_sha1
This patch also adds a test for checking that the shorthand works properly
Signed-off-by: Siddharth Kannan <redacted>
---
builtin/merge.c | 2 --
t/t3035-merge-hyphen-shorthand.sh | 33 +++++++++++++++++++++++++++++++++
2 files changed, 33 insertions(+), 2 deletions(-)
create mode 100755 t/t3035-merge-hyphen-shorthand.sh
diff --git a/builtin/merge.c b/builtin/merge.c
index a96d4fb..36ff420 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c@@ -1228,8 +1228,6 @@ int cmd_merge(int argc, const char **argv, const char *prefix) argc = setup_with_upstream(&argv); else die(_("No commit specified and merge.defaultToUpstream not set.")); - } else if (argc == 1 && !strcmp(argv[0], "-")) { - argv[0] = "@{-1}"; } if (!argc)
diff --git a/t/t3035-merge-hyphen-shorthand.sh b/t/t3035-merge-hyphen-shorthand.sh
new file mode 100755
index 0000000..fd37ff9
--- /dev/null
+++ b/t/t3035-merge-hyphen-shorthand.sh@@ -0,0 +1,33 @@ +#!/bin/sh + +test_description='merge uses the shorthand - for @{-1}' + +. ./test-lib.sh + +test_expect_success 'setup' ' + test_commit first && + test_commit second && + test_commit third && + test_commit fourth && + test_commit fifth && + test_commit sixth && + test_commit seventh +' + +test_expect_success 'setup branches' ' + git checkout master && + git checkout -b testing-2 && + git checkout -b testing-1 && + test_commit eigth && + test_commit ninth +' + +test_expect_success 'merge - should work' ' + git checkout testing-2 && + git merge - && + git rev-parse HEAD HEAD^^ | sort >actual && + git rev-parse master testing-1 | sort >expect && + test_cmp expect actual +' + +test_done
--
2.1.4