Retire support for old environment variables.
We have deprecated the old environment variable names for quite a
while and now it's time to remove them.  Gone are:
    SHA1_FILE_DIRECTORIES AUTHOR_DATE AUTHOR_EMAIL AUTHOR_NAME
    COMMIT_AUTHOR_EMAIL COMMIT_AUTHOR_NAME SHA1_FILE_DIRECTORY
Signed-off-by: Junio C Hamano <junkio@cox.net>
			
			
				maint
			
			
		
							parent
							
								
									44ec46a9df
								
							
						
					
					
						commit
						a9ab586a5d
					
				
							
								
								
									
										2
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										2
									
								
								Makefile
								
								
								
								
							|  | @ -124,7 +124,7 @@ DIFF_OBJS = \ | ||||||
|  |  | ||||||
| LIB_OBJS = \ | LIB_OBJS = \ | ||||||
| 	blob.o commit.o connect.o count-delta.o csum-file.o \ | 	blob.o commit.o connect.o count-delta.o csum-file.o \ | ||||||
| 	date.o diff-delta.o entry.o gitenv.o ident.o index.o \ | 	date.o diff-delta.o entry.o ident.o index.o \ | ||||||
| 	object.o pack-check.o patch-delta.o path.o pkt-line.o \ | 	object.o pack-check.o patch-delta.o path.o pkt-line.o \ | ||||||
| 	quote.o read-cache.o refs.o rev-cache.o run-command.o \ | 	quote.o read-cache.o refs.o rev-cache.o run-command.o \ | ||||||
| 	server-info.o setup.o sha1_file.o sha1_name.o strbuf.o \ | 	server-info.o setup.o sha1_file.o sha1_name.o strbuf.o \ | ||||||
|  |  | ||||||
							
								
								
									
										11
									
								
								cache.h
								
								
								
								
							
							
						
						
									
										11
									
								
								cache.h
								
								
								
								
							|  | @ -53,17 +53,6 @@ | ||||||
|  */ |  */ | ||||||
| #define DEFAULT_GIT_PORT 9418 | #define DEFAULT_GIT_PORT 9418 | ||||||
|  |  | ||||||
| /* |  | ||||||
|  * Environment variables transition. |  | ||||||
|  * We accept older names for now but warn. |  | ||||||
|  */ |  | ||||||
| extern char *gitenv_bc(const char *); |  | ||||||
| #ifdef __GNUC__ |  | ||||||
| #define gitenv(e) (getenv(e) ? : gitenv_bc(e)) |  | ||||||
| #else |  | ||||||
| #define gitenv(e) (getenv(e) ? getenv(e) : gitenv_bc(e)) |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Basic data structures for the directory cache |  * Basic data structures for the directory cache | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								diff.c
								
								
								
								
							
							
						
						
									
										4
									
								
								diff.c
								
								
								
								
							|  | @ -32,10 +32,10 @@ static const char *external_diff(void) | ||||||
| 	 * | 	 * | ||||||
| 	 * GIT_DIFF_OPTS="-c"; | 	 * GIT_DIFF_OPTS="-c"; | ||||||
| 	 */ | 	 */ | ||||||
| 	external_diff_cmd = gitenv("GIT_EXTERNAL_DIFF"); | 	external_diff_cmd = getenv("GIT_EXTERNAL_DIFF"); | ||||||
|  |  | ||||||
| 	/* In case external diff fails... */ | 	/* In case external diff fails... */ | ||||||
| 	env_diff_opts = gitenv("GIT_DIFF_OPTS"); | 	env_diff_opts = getenv("GIT_DIFF_OPTS"); | ||||||
| 	if (env_diff_opts) diff_opts = env_diff_opts; | 	if (env_diff_opts) diff_opts = env_diff_opts; | ||||||
|  |  | ||||||
| 	done_preparing = 1; | 	done_preparing = 1; | ||||||
|  |  | ||||||
|  | @ -392,7 +392,7 @@ static int fsck_head_link(void) | ||||||
| 	static char path[PATH_MAX], link[PATH_MAX]; | 	static char path[PATH_MAX], link[PATH_MAX]; | ||||||
| 	const char *git_dir; | 	const char *git_dir; | ||||||
|  |  | ||||||
| 	git_dir = gitenv(GIT_DIR_ENVIRONMENT); | 	git_dir = getenv(GIT_DIR_ENVIRONMENT); | ||||||
| 	if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; | 	if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; | ||||||
|  |  | ||||||
| 	snprintf(path, sizeof(path), "%s/HEAD", git_dir); | 	snprintf(path, sizeof(path), "%s/HEAD", git_dir); | ||||||
|  |  | ||||||
							
								
								
									
										75
									
								
								gitenv.c
								
								
								
								
							
							
						
						
									
										75
									
								
								gitenv.c
								
								
								
								
							|  | @ -1,75 +0,0 @@ | ||||||
| /* |  | ||||||
|  * Copyright (C) 2005 Junio C Hamano |  | ||||||
|  */ |  | ||||||
| #include "cache.h" |  | ||||||
|  |  | ||||||
| /* |  | ||||||
|  * This array must be sorted by its canonical name, because |  | ||||||
|  * we do look-up by binary search. |  | ||||||
|  */ |  | ||||||
| static struct backward_compatible_env { |  | ||||||
| 	const char *canonical; |  | ||||||
| 	const char *old; |  | ||||||
| } bc_name[] = { |  | ||||||
| 	{ "GIT_ALTERNATE_OBJECT_DIRECTORIES", "SHA1_FILE_DIRECTORIES" }, |  | ||||||
| 	{ "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_OBJECT_DIRECTORY", "SHA1_FILE_DIRECTORY" }, |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| static void warn_old_environment(int pos) |  | ||||||
| { |  | ||||||
| 	int i; |  | ||||||
| 	static int warned = 0; |  | ||||||
| 	if (warned) |  | ||||||
| 		return; |  | ||||||
|  |  | ||||||
| 	warned = 1; |  | ||||||
| 	fprintf(stderr, |  | ||||||
| 		"warning: Attempting to use %s\n", |  | ||||||
| 		bc_name[pos].old); |  | ||||||
| 	fprintf(stderr, |  | ||||||
| 		"warning: GIT environment variables have been renamed.\n" |  | ||||||
| 		"warning: Please adjust your scripts and environment.\n"); |  | ||||||
| 	for (i = 0; i < sizeof(bc_name) / sizeof(bc_name[0]); i++) { |  | ||||||
| 		/* warning is needed only when old name is there and |  | ||||||
| 		 * new name is not. |  | ||||||
| 		 */ |  | ||||||
| 		if (!getenv(bc_name[i].canonical) && getenv(bc_name[i].old)) |  | ||||||
| 			fprintf(stderr, "warning: old %s => new %s\n", |  | ||||||
| 				bc_name[i].old, bc_name[i].canonical); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| char *gitenv_bc(const char *e) |  | ||||||
| { |  | ||||||
| 	int first, last; |  | ||||||
| 	char *val = getenv(e); |  | ||||||
| 	if (val) |  | ||||||
| 		die("gitenv_bc called on existing %s; fix the caller.", e); |  | ||||||
|  |  | ||||||
| 	first = 0; |  | ||||||
| 	last = sizeof(bc_name) / sizeof(bc_name[0]); |  | ||||||
| 	while (last > first) { |  | ||||||
| 		int next = (last + first) >> 1; |  | ||||||
| 		int cmp = strcmp(e, bc_name[next].canonical); |  | ||||||
| 		if (!cmp) { |  | ||||||
| 			val = getenv(bc_name[next].old); |  | ||||||
| 			/* If the user has only old name, warn. |  | ||||||
| 			 * otherwise stay silent. |  | ||||||
| 			 */ |  | ||||||
| 			if (val) |  | ||||||
| 				warn_old_environment(next); |  | ||||||
| 			return val; |  | ||||||
| 		} |  | ||||||
| 		if (cmp < 0) { |  | ||||||
| 			last = next; |  | ||||||
| 			continue; |  | ||||||
| 		} |  | ||||||
| 		first = next+1; |  | ||||||
| 	} |  | ||||||
| 	return NULL; |  | ||||||
| } |  | ||||||
|  | @ -355,7 +355,7 @@ int main(int argc, char **argv) | ||||||
|  |  | ||||||
| 	curl = curl_easy_init(); | 	curl = curl_easy_init(); | ||||||
|  |  | ||||||
| 	curl_ssl_verify = gitenv("GIT_SSL_NO_VERIFY") ? 0 : 1; | 	curl_ssl_verify = getenv("GIT_SSL_NO_VERIFY") ? 0 : 1; | ||||||
| 	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, curl_ssl_verify); | 	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, curl_ssl_verify); | ||||||
| #if LIBCURL_VERSION_NUM >= 0x070907 | #if LIBCURL_VERSION_NUM >= 0x070907 | ||||||
| 	curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL); | 	curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL); | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								ident.c
								
								
								
								
							
							
						
						
									
										4
									
								
								ident.c
								
								
								
								
							|  | @ -150,10 +150,10 @@ char *get_ident(const char *name, const char *email, const char *date_str) | ||||||
|  |  | ||||||
| char *git_author_info(void) | char *git_author_info(void) | ||||||
| { | { | ||||||
| 	return get_ident(gitenv("GIT_AUTHOR_NAME"), gitenv("GIT_AUTHOR_EMAIL"), gitenv("GIT_AUTHOR_DATE")); | 	return get_ident(getenv("GIT_AUTHOR_NAME"), getenv("GIT_AUTHOR_EMAIL"), getenv("GIT_AUTHOR_DATE")); | ||||||
| } | } | ||||||
|  |  | ||||||
| char *git_committer_info(void) | char *git_committer_info(void) | ||||||
| { | { | ||||||
| 	return get_ident(gitenv("GIT_COMMITTER_NAME"), gitenv("GIT_COMMITTER_EMAIL"), gitenv("GIT_COMMITTER_DATE")); | 	return get_ident(getenv("GIT_COMMITTER_NAME"), getenv("GIT_COMMITTER_EMAIL"), getenv("GIT_COMMITTER_DATE")); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -226,7 +226,7 @@ int main(int argc, char **argv) | ||||||
| 	/* | 	/* | ||||||
| 	 * Set up the default .git directory contents | 	 * Set up the default .git directory contents | ||||||
| 	 */ | 	 */ | ||||||
| 	git_dir = gitenv(GIT_DIR_ENVIRONMENT); | 	git_dir = getenv(GIT_DIR_ENVIRONMENT); | ||||||
| 	if (!git_dir) { | 	if (!git_dir) { | ||||||
| 		git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; | 		git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; | ||||||
| 		fprintf(stderr, "defaulting to local storage area\n"); | 		fprintf(stderr, "defaulting to local storage area\n"); | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								path.c
								
								
								
								
							
							
						
						
									
										2
									
								
								path.c
								
								
								
								
							|  | @ -45,7 +45,7 @@ char *git_path(const char *fmt, ...) | ||||||
| 	va_list args; | 	va_list args; | ||||||
| 	unsigned len; | 	unsigned len; | ||||||
|  |  | ||||||
| 	git_dir = gitenv(GIT_DIR_ENVIRONMENT); | 	git_dir = getenv(GIT_DIR_ENVIRONMENT); | ||||||
| 	if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; | 	if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; | ||||||
| 	len = strlen(git_dir); | 	len = strlen(git_dir); | ||||||
| 	if (len > PATH_MAX-100) | 	if (len > PATH_MAX-100) | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								setup.c
								
								
								
								
							
							
						
						
									
										4
									
								
								setup.c
								
								
								
								
							|  | @ -87,7 +87,7 @@ static int is_toplevel_directory(void) | ||||||
| 	return	!lstat(".git/HEAD", &st) && | 	return	!lstat(".git/HEAD", &st) && | ||||||
| 		S_ISLNK(st.st_mode) && | 		S_ISLNK(st.st_mode) && | ||||||
| 		!access(".git/refs/", X_OK) && | 		!access(".git/refs/", X_OK) && | ||||||
| 		(gitenv(DB_ENVIRONMENT) || !access(".git/objects/", X_OK)); | 		(getenv(DB_ENVIRONMENT) || !access(".git/objects/", X_OK)); | ||||||
| } | } | ||||||
|  |  | ||||||
| const char *setup_git_directory(void) | const char *setup_git_directory(void) | ||||||
|  | @ -99,7 +99,7 @@ const char *setup_git_directory(void) | ||||||
| 	 * If GIT_DIR is set explicitly, we're not going | 	 * If GIT_DIR is set explicitly, we're not going | ||||||
| 	 * to do any discovery | 	 * to do any discovery | ||||||
| 	 */ | 	 */ | ||||||
| 	if (gitenv(GIT_DIR_ENVIRONMENT)) | 	if (getenv(GIT_DIR_ENVIRONMENT)) | ||||||
| 		return NULL; | 		return NULL; | ||||||
|  |  | ||||||
| 	if (!getcwd(cwd, sizeof(cwd)) || cwd[0] != '/') | 	if (!getcwd(cwd, sizeof(cwd)) || cwd[0] != '/') | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								sha1_file.c
								
								
								
								
							
							
						
						
									
										10
									
								
								sha1_file.c
								
								
								
								
							|  | @ -50,22 +50,22 @@ static char *git_dir, *git_object_dir, *git_index_file, *git_refs_dir, | ||||||
| 	*git_graft_file; | 	*git_graft_file; | ||||||
| static void setup_git_env(void) | static void setup_git_env(void) | ||||||
| { | { | ||||||
| 	git_dir = gitenv(GIT_DIR_ENVIRONMENT); | 	git_dir = getenv(GIT_DIR_ENVIRONMENT); | ||||||
| 	if (!git_dir) | 	if (!git_dir) | ||||||
| 		git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; | 		git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; | ||||||
| 	git_object_dir = gitenv(DB_ENVIRONMENT); | 	git_object_dir = getenv(DB_ENVIRONMENT); | ||||||
| 	if (!git_object_dir) { | 	if (!git_object_dir) { | ||||||
| 		git_object_dir = xmalloc(strlen(git_dir) + 9); | 		git_object_dir = xmalloc(strlen(git_dir) + 9); | ||||||
| 		sprintf(git_object_dir, "%s/objects", git_dir); | 		sprintf(git_object_dir, "%s/objects", git_dir); | ||||||
| 	} | 	} | ||||||
| 	git_refs_dir = xmalloc(strlen(git_dir) + 6); | 	git_refs_dir = xmalloc(strlen(git_dir) + 6); | ||||||
| 	sprintf(git_refs_dir, "%s/refs", git_dir); | 	sprintf(git_refs_dir, "%s/refs", git_dir); | ||||||
| 	git_index_file = gitenv(INDEX_ENVIRONMENT); | 	git_index_file = getenv(INDEX_ENVIRONMENT); | ||||||
| 	if (!git_index_file) { | 	if (!git_index_file) { | ||||||
| 		git_index_file = xmalloc(strlen(git_dir) + 7); | 		git_index_file = xmalloc(strlen(git_dir) + 7); | ||||||
| 		sprintf(git_index_file, "%s/index", git_dir); | 		sprintf(git_index_file, "%s/index", git_dir); | ||||||
| 	} | 	} | ||||||
| 	git_graft_file = gitenv(GRAFT_ENVIRONMENT); | 	git_graft_file = getenv(GRAFT_ENVIRONMENT); | ||||||
| 	if (!git_graft_file) | 	if (!git_graft_file) | ||||||
| 		git_graft_file = strdup(git_path("info/grafts")); | 		git_graft_file = strdup(git_path("info/grafts")); | ||||||
| } | } | ||||||
|  | @ -285,7 +285,7 @@ void prepare_alt_odb(void) | ||||||
| 	struct stat st; | 	struct stat st; | ||||||
| 	char *alt; | 	char *alt; | ||||||
|  |  | ||||||
| 	alt = gitenv(ALTERNATE_DB_ENVIRONMENT); | 	alt = getenv(ALTERNATE_DB_ENVIRONMENT); | ||||||
| 	if (!alt) alt = ""; | 	if (!alt) alt = ""; | ||||||
|  |  | ||||||
| 	sprintf(path, "%s/info/alternates", get_object_directory()); | 	sprintf(path, "%s/info/alternates", get_object_directory()); | ||||||
|  |  | ||||||
|  | @ -1,84 +0,0 @@ | ||||||
| #!/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-index --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 |  | ||||||
|  | @ -1,132 +0,0 @@ | ||||||
| #!/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-index' \ |  | ||||||
|     'git-update-index --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\)/s|>.*|>|p'\'' -e'\''/^\(committer\)/s|>.*|>|p'\''\    current > out && cmp out 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\)/s|>.*|>|p'\'' -e'\''/^\(committer\)/s|>.*|>|p'\''\    current > out && cmp out expected' |  | ||||||
|  |  | ||||||
| test_done |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano