All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] commit-tree: resurrect command line parsing updates
@ 2012-07-17 20:22 Junio C Hamano
  2012-07-18  3:05 ` Keshav Kini
  0 siblings, 1 reply; 2+ messages in thread
From: Junio C Hamano @ 2012-07-17 20:22 UTC (permalink / raw)
  To: git; +Cc: Keshav Kini

79a9312 (commit-tree: update the command line parsing, 2011-11-09)
updated the command line parser to understand the usual "flags first
and then non-flag arguments" order, in addition to the original and
a bit unusual "tree comes first and then zero or more -p <parent>".

Unfortunately, ba3c69a (commit: teach --gpg-sign option, 2011-10-05)
broke it by mistake.  Resurrect it, and protect the feature with a
test from future breakages.

Noticed by Keshav Kini <keshav.kini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---

 * I privately received a patch that is essentially the same from
   Keshav, but I do not see it either on the list or on gmane.  I
   suspect the message was sent via gmane's news submission
   interface and probably it is taking some time propagating back to
   the list, or something.

   The patch in this message is with an updated log message and an
   additional test. It is meant to apply to the 1.7.9.X maintenance
   track and upwards.  For 1.7.11.1 and later, we also need to
   revert d284367 (git-commit-tree(1): update synopsis, 2012-06-19),
   which was done without realizing that the updated command line
   argument order was lost by an earlier mistake.

 builtin/commit-tree.c          |  3 ---
 t/t1100-commit-tree-options.sh | 17 +++++++++++++++++
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c
index d5e19af..792670a 100644
--- a/builtin/commit-tree.c
+++ b/builtin/commit-tree.c
@@ -48,9 +48,6 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
 	if (argc < 2 || !strcmp(argv[1], "-h"))
 		usage(commit_tree_usage);
 
-	if (get_sha1(argv[1], tree_sha1))
-		die("Not a valid object name %s", argv[1]);
-
 	for (i = 1; i < argc; i++) {
 		const char *arg = argv[i];
 		if (!strcmp(arg, "-p")) {
diff --git a/t/t1100-commit-tree-options.sh b/t/t1100-commit-tree-options.sh
index c4414ff..a3b7723 100755
--- a/t/t1100-commit-tree-options.sh
+++ b/t/t1100-commit-tree-options.sh
@@ -7,6 +7,9 @@ test_description='git commit-tree options test
 
 This test checks that git commit-tree can create a specific commit
 object by defining all environment variables that it understands.
+
+Also make sure that command line parser understands the normal
+"flags first and then non flag arguments" command line.
 '
 
 . ./test-lib.sh
@@ -42,4 +45,18 @@ test_expect_success \
     'compare commit' \
     'test_cmp expected commit'
 
+
+test_expect_success 'flags and then non flags' '
+	echo comment text |
+	git commit-tree $(cat treeid) >commitid &&
+	echo comment text |
+	git commit-tree $(cat treeid) -p $(cat commitid) >childid-1 &&
+	echo comment text |
+	git commit-tree -p $(cat commitid) $(cat treeid) >childid-2 &&
+	test_cmp childid-1 childid-2 &&
+	git commit-tree $(cat treeid) -m foo >childid-3 &&
+	git commit-tree -m foo $(cat treeid) >childid-4 &&
+	test_cmp childid-3 childid-4
+'
+
 test_done
-- 
1.7.11.2.308.gd5eadba

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] commit-tree: resurrect command line parsing updates
  2012-07-17 20:22 [PATCH] commit-tree: resurrect command line parsing updates Junio C Hamano
@ 2012-07-18  3:05 ` Keshav Kini
  0 siblings, 0 replies; 2+ messages in thread
From: Keshav Kini @ 2012-07-18  3:05 UTC (permalink / raw)
  To: git

Junio C Hamano <gitster@pobox.com> writes:
>  * I privately received a patch that is essentially the same from
>    Keshav, but I do not see it either on the list or on gmane.  I
>    suspect the message was sent via gmane's news submission
>    interface and probably it is taking some time propagating back to
>    the list, or something.

I sent it over NNTP via Gnus, a newsreader application. I may have done
something wrong, though, as I didn't get a "acknowledge that you just
sent a mail through Gmane" message from Gmane, as I usually do when
posting to a list I haven't posted to before.

In any case, I'm glad you got the CC :)

-Keshav

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-07-18  3:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-17 20:22 [PATCH] commit-tree: resurrect command line parsing updates Junio C Hamano
2012-07-18  3:05 ` Keshav Kini

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.