mirror of
https://github.com/git/git
synced 2024-10-30 04:01:21 +00:00
85 lines
2.2 KiB
Bash
85 lines
2.2 KiB
Bash
|
#!/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
|