Skip to content

Commit

Permalink
Merge branch 'kk/maint-commit-tree' into maint
Browse files Browse the repository at this point in the history
"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
  • Loading branch information
Junio C Hamano committed Jul 30, 2012
2 parents 70f6be7 + 4b7518a commit 2e3710b
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
2 changes: 1 addition & 1 deletion Documentation/git-commit-tree.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SYNOPSIS
--------
[verse]
'git commit-tree' <tree> [(-p <parent>)...] < changelog
'git commit-tree' <tree> [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...]
'git commit-tree' [(-p <parent>)...] [(-m <message>)...] [(-F <file>)...] <tree>

DESCRIPTION
-----------
Expand Down
3 changes: 0 additions & 3 deletions builtin/commit-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -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")) {
Expand Down
17 changes: 17 additions & 0 deletions t/t1100-commit-tree-options.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

0 comments on commit 2e3710b

Please sign in to comment.