t3600: test behavior of reverse-d/f conflict
The previous commit taught "rm" that it is safe to consider "d/f" removed when "d" has become a non-directory. This patch adds a test for the opposite: a file "d" that becomes a directory. In this case, "git rm" does need to complain, because we should not be removing arbitrary content under "d". Git already behaves correctly, but let's make sure that remains the case by protecting the behavior with a test. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							9a6728d4d1
						
					
				
				
					commit
					96ec8ee92a
				
			@ -647,4 +647,16 @@ test_expect_success SYMLINKS 'rm of d/f when d has become a dangling symlink' '
 | 
				
			|||||||
	test_path_is_missing d
 | 
						test_path_is_missing d
 | 
				
			||||||
'
 | 
					'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test_expect_success 'rm of file when it has become a directory' '
 | 
				
			||||||
 | 
						rm -rf d &&
 | 
				
			||||||
 | 
						>d &&
 | 
				
			||||||
 | 
						git add d &&
 | 
				
			||||||
 | 
						rm -f d &&
 | 
				
			||||||
 | 
						mkdir d &&
 | 
				
			||||||
 | 
						>d/f &&
 | 
				
			||||||
 | 
						test_must_fail git rm d &&
 | 
				
			||||||
 | 
						git rev-parse --verify :d &&
 | 
				
			||||||
 | 
						test_path_is_file d/f
 | 
				
			||||||
 | 
					'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test_done
 | 
					test_done
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user