t / t1100-commit-tree-options.shon commit Merge branch 'oh/fix-config-default-user-name-section' into maint-2.3 (1add9ae)
   1#!/bin/sh
   2#
   3# Copyright (C) 2005 Rene Scharfe
   4#
   5
   6test_description='git commit-tree options test
   7
   8This test checks that git commit-tree can create a specific commit
   9object by defining all environment variables that it understands.
  10
  11Also make sure that command line parser understands the normal
  12"flags first and then non flag arguments" command line.
  13'
  14
  15. ./test-lib.sh
  16
  17cat >expected <<EOF
  18tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
  19author Author Name <author@email> 1117148400 +0000
  20committer Committer Name <committer@email> 1117150200 +0000
  21
  22comment text
  23EOF
  24
  25test_expect_success \
  26    'test preparation: write empty tree' \
  27    'git write-tree >treeid'
  28
  29test_expect_success \
  30    'construct commit' \
  31    'echo comment text |
  32     GIT_AUTHOR_NAME="Author Name" \
  33     GIT_AUTHOR_EMAIL="author@email" \
  34     GIT_AUTHOR_DATE="2005-05-26 23:00" \
  35     GIT_COMMITTER_NAME="Committer Name" \
  36     GIT_COMMITTER_EMAIL="committer@email" \
  37     GIT_COMMITTER_DATE="2005-05-26 23:30" \
  38     TZ=GMT git commit-tree `cat treeid` >commitid 2>/dev/null'
  39
  40test_expect_success \
  41    'read commit' \
  42    'git cat-file commit `cat commitid` >commit'
  43
  44test_expect_success \
  45    'compare commit' \
  46    'test_cmp expected commit'
  47
  48
  49test_expect_success 'flags and then non flags' '
  50        test_tick &&
  51        echo comment text |
  52        git commit-tree $(cat treeid) >commitid &&
  53        echo comment text |
  54        git commit-tree $(cat treeid) -p $(cat commitid) >childid-1 &&
  55        echo comment text |
  56        git commit-tree -p $(cat commitid) $(cat treeid) >childid-2 &&
  57        test_cmp childid-1 childid-2 &&
  58        git commit-tree $(cat treeid) -m foo >childid-3 &&
  59        git commit-tree -m foo $(cat treeid) >childid-4 &&
  60        test_cmp childid-3 childid-4
  61'
  62
  63test_done