merge(3p/git): Merge git upstream at v2.26.2
This commit is contained in:
		
						commit
						5229c9b232
					
				
					 1006 changed files with 149006 additions and 60819 deletions
				
			
		
							
								
								
									
										50
									
								
								third_party/git/t/t5541-http-push-smart.sh
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								third_party/git/t/t5541-http-push-smart.sh
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -49,7 +49,7 @@ test_expect_success 'no empty path components' '
 | 
			
		|||
 | 
			
		||||
	# NEEDSWORK: If the overspecification of the expected result is reduced, we
 | 
			
		||||
	# might be able to run this test in all protocol versions.
 | 
			
		||||
	if test -z "$GIT_TEST_PROTOCOL_VERSION"
 | 
			
		||||
	if test "$GIT_TEST_PROTOCOL_VERSION" = 0
 | 
			
		||||
	then
 | 
			
		||||
		check_access_log exp
 | 
			
		||||
	fi
 | 
			
		||||
| 
						 | 
				
			
			@ -135,7 +135,7 @@ EOF
 | 
			
		|||
test_expect_success 'used receive-pack service' '
 | 
			
		||||
	# NEEDSWORK: If the overspecification of the expected result is reduced, we
 | 
			
		||||
	# might be able to run this test in all protocol versions.
 | 
			
		||||
	if test -z "$GIT_TEST_PROTOCOL_VERSION"
 | 
			
		||||
	if test "$GIT_TEST_PROTOCOL_VERSION" = 0
 | 
			
		||||
	then
 | 
			
		||||
		check_access_log exp
 | 
			
		||||
	fi
 | 
			
		||||
| 
						 | 
				
			
			@ -184,11 +184,12 @@ test_expect_success 'push --atomic also prevents branch creation, reports collat
 | 
			
		|||
	test_config -C "$d" http.receivepack true &&
 | 
			
		||||
	up="$HTTPD_URL"/smart/atomic-branches.git &&
 | 
			
		||||
 | 
			
		||||
	# Tell "$up" about two branches for now
 | 
			
		||||
	# Tell "$up" about three branches for now
 | 
			
		||||
	test_commit atomic1 &&
 | 
			
		||||
	test_commit atomic2 &&
 | 
			
		||||
	git branch collateral &&
 | 
			
		||||
	git push "$up" master collateral &&
 | 
			
		||||
	git branch other &&
 | 
			
		||||
	git push "$up" master collateral other &&
 | 
			
		||||
 | 
			
		||||
	# collateral is a valid push, but should be failed by atomic push
 | 
			
		||||
	git checkout collateral &&
 | 
			
		||||
| 
						 | 
				
			
			@ -226,6 +227,41 @@ test_expect_success 'push --atomic also prevents branch creation, reports collat
 | 
			
		|||
	grep "^ ! .*rejected.* collateral -> collateral .*atomic push failed" output
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success 'push --atomic fails on server-side errors' '
 | 
			
		||||
	# Use previously set up repository
 | 
			
		||||
	d=$HTTPD_DOCUMENT_ROOT_PATH/atomic-branches.git &&
 | 
			
		||||
	test_config -C "$d" http.receivepack true &&
 | 
			
		||||
	up="$HTTPD_URL"/smart/atomic-branches.git &&
 | 
			
		||||
 | 
			
		||||
	# break ref updates for other on the remote site
 | 
			
		||||
	mkdir "$d/refs/heads/other.lock" &&
 | 
			
		||||
 | 
			
		||||
	# add the new commit to other
 | 
			
		||||
	git branch -f other collateral &&
 | 
			
		||||
 | 
			
		||||
	# --atomic should cause entire push to be rejected
 | 
			
		||||
	test_must_fail git push --atomic "$up" atomic other 2>output  &&
 | 
			
		||||
 | 
			
		||||
	# the new branch should not have been created upstream
 | 
			
		||||
	test_must_fail git -C "$d" show-ref --verify refs/heads/atomic &&
 | 
			
		||||
 | 
			
		||||
	# upstream should still reflect atomic2, the last thing we pushed
 | 
			
		||||
	# successfully
 | 
			
		||||
	git rev-parse atomic2 >expected &&
 | 
			
		||||
	# ...to other.
 | 
			
		||||
	git -C "$d" rev-parse refs/heads/other >actual &&
 | 
			
		||||
	test_cmp expected actual &&
 | 
			
		||||
 | 
			
		||||
	# the new branch should not have been created upstream
 | 
			
		||||
	test_must_fail git -C "$d" show-ref --verify refs/heads/atomic &&
 | 
			
		||||
 | 
			
		||||
	# the failed refs should be indicated to the user
 | 
			
		||||
	grep "^ ! .*rejected.* other -> other .*atomic transaction failed" output &&
 | 
			
		||||
 | 
			
		||||
	# the collateral failure refs should be indicated to the user
 | 
			
		||||
	grep "^ ! .*rejected.* atomic -> atomic .*atomic transaction failed" output
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success 'push --all can push to empty repo' '
 | 
			
		||||
	d=$HTTPD_DOCUMENT_ROOT_PATH/empty-all.git &&
 | 
			
		||||
	git init --bare "$d" &&
 | 
			
		||||
| 
						 | 
				
			
			@ -262,7 +298,7 @@ test_expect_success TTY 'push shows progress when stderr is a tty' '
 | 
			
		|||
	cd "$ROOT_PATH"/test_repo_clone &&
 | 
			
		||||
	test_commit noisy &&
 | 
			
		||||
	test_terminal git push >output 2>&1 &&
 | 
			
		||||
	test_i18ngrep "Writing objects" output
 | 
			
		||||
	test_i18ngrep "^Writing objects" output
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success TTY 'push --quiet silences status and progress' '
 | 
			
		||||
| 
						 | 
				
			
			@ -277,7 +313,7 @@ test_expect_success TTY 'push --no-progress silences progress but not status' '
 | 
			
		|||
	test_commit no-progress &&
 | 
			
		||||
	test_terminal git push --no-progress >output 2>&1 &&
 | 
			
		||||
	test_i18ngrep "^To http" output &&
 | 
			
		||||
	test_i18ngrep ! "Writing objects" output
 | 
			
		||||
	test_i18ngrep ! "^Writing objects" output
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success 'push --progress shows progress to non-tty' '
 | 
			
		||||
| 
						 | 
				
			
			@ -285,7 +321,7 @@ test_expect_success 'push --progress shows progress to non-tty' '
 | 
			
		|||
	test_commit progress &&
 | 
			
		||||
	git push --progress >output 2>&1 &&
 | 
			
		||||
	test_i18ngrep "^To http" output &&
 | 
			
		||||
	test_i18ngrep "Writing objects" output
 | 
			
		||||
	test_i18ngrep "^Writing objects" output
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
test_expect_success 'http push gives sane defaults to reflog' '
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue