| #!/bin/sh |
| # |
| # Copyright (c) 2005 Junio C Hamano |
| # |
| |
| test_description='general environment name warning test. |
| |
| This test makes sure that use of deprecated environment variables |
| trigger the warnings from gitenv().' |
| |
| env_vars='GIT_AUTHOR_DATE:AUTHOR_DATE |
| GIT_AUTHOR_EMAIL:AUTHOR_EMAIL |
| GIT_AUTHOR_NAME:AUTHOR_NAME |
| GIT_COMMITTER_EMAIL:COMMIT_AUTHOR_EMAIL |
| GIT_COMMITTER_NAME:COMMIT_AUTHOR_NAME |
| GIT_ALTERNATE_OBJECT_DIRECTORIES:SHA1_FILE_DIRECTORIES |
| GIT_OBJECT_DIRECTORY:SHA1_FILE_DIRECTORY |
| ' |
| |
| . ./test-lib.sh |
| |
| export_them () { |
| for ev in $env_vars |
| do |
| new=$(expr "$ev" : '\(.*\):') |
| old=$(expr "$ev" : '.*:\(.*\)') |
| # Build and eval the following: |
| # case "${VAR+set}" in set) export VAR;; esac |
| evstr='case "${'$new'+set}" in set) export '$new';; esac' |
| eval "$evstr" |
| evstr='case "${'$old'+set}" in set) export '$old';; esac' |
| eval "$evstr" |
| done |
| } |
| |
| date >path0 |
| git-update-cache --add path0 |
| tree=$(git-write-tree) |
| |
| AUTHOR_DATE='Wed May 11 23:55:18 2005' |
| AUTHOR_EMAIL='author@example.xz' |
| AUTHOR_NAME='A U Thor' |
| COMMIT_AUTHOR_EMAIL='author@example.xz' |
| COMMIT_AUTHOR_NAME='A U Thor' |
| SHA1_FILE_DIRECTORY=.git/objects |
| |
| export_them |
| |
| echo 'foo' | git-commit-tree $tree >/dev/null 2>errmsg |
| cat >expected-err <<\EOF |
| warning: Attempting to use SHA1_FILE_DIRECTORY |
| warning: GIT environment variables have been renamed. |
| warning: Please adjust your scripts and environment. |
| warning: old AUTHOR_DATE => new GIT_AUTHOR_DATE |
| warning: old AUTHOR_EMAIL => new GIT_AUTHOR_EMAIL |
| warning: old AUTHOR_NAME => new GIT_AUTHOR_NAME |
| warning: old COMMIT_AUTHOR_EMAIL => new GIT_COMMITTER_EMAIL |
| warning: old COMMIT_AUTHOR_NAME => new GIT_COMMITTER_NAME |
| warning: old SHA1_FILE_DIRECTORY => new GIT_OBJECT_DIRECTORY |
| EOF |
| sed -ne '/^warning: /p' <errmsg >generated-err |
| |
| test_expect_success \ |
| 'using old names should issue warnings.' \ |
| 'cmp generated-err expected-err' |
| |
| for ev in $env_vars |
| do |
| new=$(expr "$ev" : '\(.*\):') |
| old=$(expr "$ev" : '.*:\(.*\)') |
| # Build and eval the following: |
| # NEWENV=$OLDENV |
| evstr="$new=\$$old" |
| eval "$evstr" |
| done |
| export_them |
| echo 'foo' | git-commit-tree $tree >/dev/null 2>errmsg |
| sed -ne '/^warning: /p' <errmsg >generated-err |
| |
| test_expect_success \ |
| 'using old names but having new names should not issue warnings.' \ |
| 'cmp generated-err /dev/null' |
| |
| test_done |