All of lore.kernel.org
 help / color / mirror / Atom feed
From: Siddharth Kannan <kannan.siddharth12@gmail.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, Matthieu.Moy@imag.fr, pranit.bauva@gmail.com,
	peff@peff.net, pclouds@gmail.com,
	sandals@crustytoothpaste.ath.cx,
	Siddharth Kannan <kannan.siddharth12@gmail.com>
Subject: [PATCH 5/6 v5] merge.c: delegate handling of "-" shorthand to revision.c:get_sha1
Date: Sat, 25 Feb 2017 07:24:46 +0000	[thread overview]
Message-ID: <1488007487-12965-6-git-send-email-kannan.siddharth12@gmail.com> (raw)
In-Reply-To: <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com>

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 <kannan.siddharth12@gmail.com>
---
 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


  parent reply	other threads:[~2017-02-25  7:25 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-25  7:24 [PATCH 0/6 v5] allow "-" as a shorthand for "previous branch" Siddharth Kannan
2017-02-25  7:24 ` [PATCH 1/6 v5] revision.c: do not update argv with unknown option Siddharth Kannan
2017-02-25  7:24 ` [PATCH 2/6 v5] revision.c: swap if/else blocks Siddharth Kannan
2017-02-25  7:24 ` [PATCH 3/6 v5] revision.c: args starting with "-" might be a revision Siddharth Kannan
2017-02-25  7:24 ` [PATCH 4/6 v5] sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}" Siddharth Kannan
2017-03-14  2:10   ` [PATCH 6/6 v5] sha1_name.c: avoid parsing @{-1} unnecessarily mash
2017-02-25  7:24 ` Siddharth Kannan [this message]
2017-03-01 22:49   ` [PATCH 5/6 v5] merge.c: delegate handling of "-" shorthand to revision.c:get_sha1 Junio C Hamano
2017-03-01 23:05     ` Junio C Hamano
2017-02-25  7:24 ` [PATCH 6/6 v5] revert.c: delegate handling of "-" shorthand to setup_revisions Siddharth Kannan
2017-03-01 23:18   ` Junio C Hamano
2017-02-25  7:32 ` [PATCH 1/6 v5] revision.c: do not update argv with unknown option Siddharth Kannan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1488007487-12965-6-git-send-email-kannan.siddharth12@gmail.com \
    --to=kannan.siddharth12@gmail.com \
    --cc=Matthieu.Moy@imag.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=pranit.bauva@gmail.com \
    --cc=sandals@crustytoothpaste.ath.cx \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.