t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs
Some refs can only be matched to a remote ref with an explicit refspec. When such a ref is a non-fast-forward of its remote ref, test that pushing them (with the explicit refspec specified) fails with a non- fast-foward-type error (viz. printing of ref status and help message). Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									1945237486
								
							
						
					
					
						commit
						7b69079be9
					
				|  | @ -111,5 +111,26 @@ Merge the remote changes before pushing again.  See the '"'non-fast-forward'"' | ||||||
| section of '"'git push --help'"' for details." output | section of '"'git push --help'"' for details." output | ||||||
| ' | ' | ||||||
|  |  | ||||||
|  | test_expect_failure 'push fails for non-fast-forward refs unmatched by remote helper' ' | ||||||
|  | 	# create a dissimilarly-named remote ref so that git is unable to match the | ||||||
|  | 	# two refs (viz. local, remote) unless an explicit refspec is provided. | ||||||
|  | 	git push origin master:retsam | ||||||
|  |  | ||||||
|  | 	echo "change changed" > path2 && | ||||||
|  | 	git commit -a -m path2 --amend && | ||||||
|  |  | ||||||
|  | 	# push master too; this ensures there is at least one '"'push'"' command to | ||||||
|  | 	# the remote helper and triggers interaction with the helper. | ||||||
|  | 	!(git push -v origin +master master:retsam >output 2>&1) && | ||||||
|  |  | ||||||
|  | 	grep "^ + [a-f0-9]*\.\.\.[a-f0-9]* *master -> master (forced update)$" output && | ||||||
|  | 	grep "^ ! \[rejected\] *master -> retsam (non-fast-forward)$" output && | ||||||
|  |  | ||||||
|  | 	grep \ | ||||||
|  | "To prevent you from losing history, non-fast-forward updates were rejected | ||||||
|  | Merge the remote changes before pushing again.  See the '"'non-fast-forward'"' | ||||||
|  | section of '"'git push --help'"' for details." output | ||||||
|  | ' | ||||||
|  |  | ||||||
| stop_httpd | stop_httpd | ||||||
| test_done | test_done | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Tay Ray Chuan
						Tay Ray Chuan