Skip to content

Commit 2e3710b

Browse files
committed
Merge branch 'kk/maint-commit-tree' into maint
"git commit-tree" learned a more natural "-p <parent> <tree>" order of arguments long time ago, but recently forgot it by mistake. * kk/maint-commit-tree: Revert "git-commit-tree(1): update synopsis" commit-tree: resurrect command line parsing updates
2 parents 70f6be7 + 4b7518a commit 2e3710b

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

Documentation/git-commit-tree.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ SYNOPSIS
1010
--------
1111
[verse]
1212
'git commit-tree' <tree> [(-p <parent>)...] < changelog
13-
'git commit-tree' <tree> [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...]
13+
'git commit-tree' [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...] <tree>
1414

1515
DESCRIPTION
1616
-----------

builtin/commit-tree.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,6 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
4848
if (argc < 2 || !strcmp(argv[1], "-h"))
4949
usage(commit_tree_usage);
5050

51-
if (get_sha1(argv[1], tree_sha1))
52-
die("Not a valid object name %s", argv[1]);
53-
5451
for (i = 1; i < argc; i++) {
5552
const char *arg = argv[i];
5653
if (!strcmp(arg, "-p")) {

t/t1100-commit-tree-options.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ test_description='git commit-tree options test
77
88
This test checks that git commit-tree can create a specific commit
99
object by defining all environment variables that it understands.
10+
11+
Also make sure that command line parser understands the normal
12+
"flags first and then non flag arguments" command line.
1013
'
1114

1215
. ./test-lib.sh
@@ -42,4 +45,18 @@ test_expect_success \
4245
'compare commit' \
4346
'test_cmp expected commit'
4447

48+
49+
test_expect_success 'flags and then non flags' '
50+
echo comment text |
51+
git commit-tree $(cat treeid) >commitid &&
52+
echo comment text |
53+
git commit-tree $(cat treeid) -p $(cat commitid) >childid-1 &&
54+
echo comment text |
55+
git commit-tree -p $(cat commitid) $(cat treeid) >childid-2 &&
56+
test_cmp childid-1 childid-2 &&
57+
git commit-tree $(cat treeid) -m foo >childid-3 &&
58+
git commit-tree -m foo $(cat treeid) >childid-4 &&
59+
test_cmp childid-3 childid-4
60+
'
61+
4562
test_done

0 commit comments

Comments
 (0)