summaryrefslogtreecommitdiff
path: root/t/t1100-commit-tree-options.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-07-17 13:05:13 -0700
committerJunio C Hamano <gitster@pobox.com>2012-07-17 13:05:13 -0700
commit9aab1b511892b7af86c037b49ff80ec5b4b2c191 (patch)
treedc273435ce5dba033fb76beb6ba9f59d0b2f2532 /t/t1100-commit-tree-options.sh
parentba3c69a9ee1894de397b60d3b548383e13ef49e3 (diff)
downloadgit-9aab1b511892b7af86c037b49ff80ec5b4b2c191.tar.gz
commit-tree: resurrect command line parsing updates
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 Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1100-commit-tree-options.sh')
-rwxr-xr-xt/t1100-commit-tree-options.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t1100-commit-tree-options.sh b/t/t1100-commit-tree-options.sh
index c4414ff576..a3b77239f4 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