summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f50c9f7)
raw | patch | inline | side by side (parent: f50c9f7)
author | Junio C Hamano <junkio@cox.net> | |
Sat, 14 May 2005 08:45:42 +0000 (01:45 -0700) | ||
committer | Petr Baudis <xpasky@machine.sinus.cz> | |
Sat, 14 May 2005 23:40:05 +0000 (01:40 +0200) |
This test makes sure that use of deprecated environment variables still
works, using both new and old names makes new one take
precedence, and GIT_DIR and GIT_ALTERNATE_OBJECT_DIRECTORIES mechanisms
work.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
works, using both new and old names makes new one take
precedence, and GIT_DIR and GIT_ALTERNATE_OBJECT_DIRECTORIES mechanisms
work.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
t/t0110-environment-names-old.sh | [new file with mode: 0644] | patch | blob |
diff --git a/t/t0110-environment-names-old.sh b/t/t0110-environment-names-old.sh
--- /dev/null
@@ -0,0 +1,134 @@
+#!/bin/sh
+#
+# Copyright (c) 2005 Junio C Hamano
+#
+
+test_description='Using new and old environment names.
+
+This test makes sure that use of deprecated environment variables
+still works, using both new and old names makes new one take precedence,
+and GIT_DIR and GIT_ALTERNATE_OBJECT_DIRECTORIES mechanism works.'
+
+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
+}
+
+SHA1_FILE_DIRECTORY=.svn/objects ;# whoa
+export SHA1_FILE_DIRECTORY
+
+rm -fr .git
+mkdir .svn
+test_expect_success \
+ 'using SHA1_FILE_DIRECTORY in git-init-db' \
+ 'git-init-db && test -d .svn/objects/cb'
+
+unset SHA1_FILE_DIRECTORY
+GIT_DIR=.svn
+export GIT_DIR
+rm -fr .git .svn
+mkdir .svn
+test_expect_success \
+ 'using GIT_DIR in git-init-db' \
+ 'git-init-db && test -d .svn/objects/cb'
+
+date >path0
+test_expect_success \
+ 'using GIT_DIR in git-update-cache' \
+ 'git-update-cache --add path0 && test -f .svn/index'
+
+sedScript='s|\(..\)|.svn/objects/\1/|'
+
+test_expect_success \
+ 'using GIT_DIR in git-write-tree' \
+ 'tree=$(git-write-tree) &&
+ test -f $(echo "$tree" | sed -e "$sedScript")'
+
+AUTHOR_DATE='Sat May 14 00:00:00 2005 -0000'
+AUTHOR_EMAIL='author@example.xz'
+AUTHOR_NAME='A U Thor'
+COMMIT_AUTHOR_EMAIL='author@example.xz'
+COMMIT_AUTHOR_NAME='A U Thor'
+export_them
+
+test_expect_success \
+ 'using GIT_DIR and old variable names in git-commit-tree' \
+ 'commit=$(echo foo | git-commit-tree $tree) &&
+ test -f $(echo "$commit" | sed -e "$sedScript")'
+
+test_expect_success \
+ 'using GIT_DIR in git-cat-file' \
+ 'git-cat-file commit $commit >current'
+
+cat >expected <<\EOF
+author A U Thor <author@example.xz>
+committer A U Thor <author@example.xz>
+EOF
+test_expect_success \
+ 'verify old AUTHOR variables were used correctly in commit' \
+ 'sed -ne '\''/^\(author\|committer\)/s|>.*|>|p'\'' current |
+ cmp - expected'
+
+unset GIT_DIR
+test_expect_success \
+ 'git-init-db without GIT_DIR' \
+ 'git-init-db && test -d .git && test -d .git/objects/ef'
+
+SHA1_FILE_DIRECTORIES=.svn/objects
+export SHA1_FILE_DIRECTORIES
+
+test_expect_success \
+ 'using SHA1_FILE_DIRECTORIES with git-ls-tree' \
+ 'git-ls-tree $commit && git-ls-tree $tree'
+
+GIT_AUTHOR_DATE='Sat May 14 12:00:00 2005 -0000'
+GIT_AUTHOR_EMAIL='rohtua@example.xz'
+GIT_AUTHOR_NAME='R O Htua'
+GIT_COMMITTER_EMAIL='rohtua@example.xz'
+GIT_COMMITTER_NAME='R O Htua'
+export_them
+
+sedScript='s|\(..\)|.git/objects/\1/|'
+test_expect_success \
+ 'using new author variables with git-commit-tree' \
+ 'commit2=$(echo foo | git-commit-tree $tree) &&
+ test -f $(echo "$commit2" | sed -e "$sedScript")'
+
+GIT_ALTERNATE_OBJECT_DIRECTORIES=.git/objects
+GIT_DIR=nowhere
+export GIT_DIR GIT_ALTERNATE_OBJECT_DIRECTORIES
+
+test_expect_success \
+ 'git-cat-file with GIT_DIR and GIT_ALTERNATE_OBJECT_DIRECTORIES' \
+ 'git-cat-file commit $commit2 >current'
+
+cat >expected <<\EOF
+author R O Htua <rohtua@example.xz>
+committer R O Htua <rohtua@example.xz>
+EOF
+test_expect_success \
+ 'verify new AUTHOR variables were used correctly in commit.' \
+ 'sed -ne '\''/^\(author\|committer\)/s|>.*|>|p'\'' current |
+ cmp - expected'
+
+test_done