 5c20398699
			
		
	
	5c20398699
	
	
	
		
			
			If there is no worktree at present, we can still hint the user about
Git's current directory by showing them the absolute path to the Git
directory. Even though the Git directory doesn't make it as easy to
locate the worktree in question, it can still help a user figure out
what's going on while developing a script.
This fixes a segmentation fault introduced in e0020b2f
("prefix_path: show gitdir when arg is outside repo", 2020-02-14).
Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
[jc: added minimum tests, with help from Szeder Gábor]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			841 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			841 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='diagnosing out-of-scope pathspec'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success 'setup a bare and non-bare repository' '
 | |
| 	test_commit file1 &&
 | |
| 	git clone --bare . bare
 | |
| '
 | |
| 
 | |
| test_expect_success 'log and ls-files in a bare repository' '
 | |
| 	(
 | |
| 		cd bare &&
 | |
| 		test_must_fail git log -- .. >out 2>err &&
 | |
| 		test_must_be_empty out &&
 | |
| 		test_i18ngrep "outside repository" err &&
 | |
| 
 | |
| 		test_must_fail git ls-files -- .. >out 2>err &&
 | |
| 		test_must_be_empty out &&
 | |
| 		test_i18ngrep "outside repository" err
 | |
| 	)
 | |
| '
 | |
| 
 | |
| test_expect_success 'log and ls-files in .git directory' '
 | |
| 	(
 | |
| 		cd .git &&
 | |
| 		test_must_fail git log -- .. >out 2>err &&
 | |
| 		test_must_be_empty out &&
 | |
| 		test_i18ngrep "outside repository" err &&
 | |
| 
 | |
| 		test_must_fail git ls-files -- .. >out 2>err &&
 | |
| 		test_must_be_empty out &&
 | |
| 		test_i18ngrep "outside repository" err
 | |
| 	)
 | |
| '
 | |
| 
 | |
| test_done
 |