39 lines
		
	
	
		
			946 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			39 lines
		
	
	
		
			946 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/sh
 | |
| 
 | |
| test_description='git-add -u with path limiting
 | |
| 
 | |
| This test creates a working tree state with three files:
 | |
| 
 | |
|   top (previously committed, modified)
 | |
|   dir/sub (previously committed, modified)
 | |
|   dir/other (untracked)
 | |
| 
 | |
| and issues a git-add -u with path limiting on "dir" to add
 | |
| only the updates to dir/sub.'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success 'setup' '
 | |
| echo initial >top &&
 | |
| mkdir dir &&
 | |
| echo initial >dir/sub &&
 | |
| git-add dir/sub top &&
 | |
| git-commit -m initial &&
 | |
| echo changed >top &&
 | |
| echo changed >dir/sub &&
 | |
| echo other >dir/other
 | |
| '
 | |
| 
 | |
| test_expect_success 'update' 'git-add -u dir'
 | |
| 
 | |
| test_expect_success 'update touched correct path' \
 | |
|   'test "`git-diff-files --name-status dir/sub`" = ""'
 | |
| 
 | |
| test_expect_success 'update did not touch other tracked files' \
 | |
|   'test "`git-diff-files --name-status top`" = "M	top"'
 | |
| 
 | |
| test_expect_success 'update did not touch untracked files' \
 | |
|   'test "`git-diff-files --name-status dir/other`" = ""'
 | |
| 
 | |
| test_done
 |