git-commit-vandalism/t/t2200-add-update.sh

39 lines
946 B
Bash
Raw Normal View History

#!/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