t / t7517-per-repo-email.shon commit t5500 & t7403: lose bash-ism "local" (e256eec)
   1#!/bin/sh
   2#
   3# Copyright (c) 2016 Dan Aloni
   4# Copyright (c) 2016 Jeff King
   5#
   6
   7test_description='per-repo forced setting of email address'
   8
   9. ./test-lib.sh
  10
  11test_expect_success 'setup a likely user.useConfigOnly use case' '
  12        # we want to make sure a reflog is written, since that needs
  13        # a non-strict ident. So be sure we have an actual commit.
  14        test_commit foo &&
  15
  16        sane_unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL &&
  17        sane_unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL &&
  18        git config user.name "test" &&
  19        git config --global user.useConfigOnly true
  20'
  21
  22test_expect_success 'fails committing if clone email is not set' '
  23        test_must_fail git commit --allow-empty -m msg
  24'
  25
  26test_expect_success 'fails committing if clone email is not set, but EMAIL set' '
  27        test_must_fail env EMAIL=test@fail.com git commit --allow-empty -m msg
  28'
  29
  30test_expect_success 'succeeds committing if clone email is set' '
  31        test_config user.email "test@ok.com" &&
  32        git commit --allow-empty -m msg
  33'
  34
  35test_expect_success 'succeeds cloning if global email is not set' '
  36        git clone . clone
  37'
  38
  39test_done