Whenever GIT_CURL_VERBOSE is set, teach Git to behave as if GIT_TRACE_CURL=1 and GIT_TRACE_CURL_NO_DATA=1 is set, instead of setting CURLOPT_VERBOSE. This is to prevent inadvertent revelation of sensitive data. In particular, GIT_CURL_VERBOSE redacts neither the "Authorization" header nor any cookies specified by GIT_REDACT_COOKIES. Unifying the tracing mechanism also has the future benefit that any improvements to the tracing mechanism will benefit both users of GIT_CURL_VERBOSE and GIT_TRACE_CURL, and we do not need to remember to implement any improvement twice. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			27 lines
		
	
	
		
			720 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			720 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
test_description='test GIT_CURL_VERBOSE'
 | 
						|
. ./test-lib.sh
 | 
						|
. "$TEST_DIRECTORY"/lib-httpd.sh
 | 
						|
start_httpd
 | 
						|
 | 
						|
test_expect_success 'setup repository' '
 | 
						|
	mkdir "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
 | 
						|
	git -C "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" --bare init &&
 | 
						|
	git config push.default matching &&
 | 
						|
	echo content >file &&
 | 
						|
	git add file &&
 | 
						|
	git commit -m one &&
 | 
						|
	git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
 | 
						|
	git push public master:master
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'failure in git-upload-pack is shown' '
 | 
						|
	test_might_fail env GIT_CURL_VERBOSE=1 \
 | 
						|
		git clone "$HTTPD_URL/error_git_upload_pack/smart/repo.git" \
 | 
						|
		2>curl_log &&
 | 
						|
	grep "<= Recv header: HTTP/1.1 500 Intentional Breakage" curl_log
 | 
						|
'
 | 
						|
 | 
						|
test_done
 |