Browse Source
* maint: fix usage string for git grep refresh-index: fix bitmask assignment Conflicts: builtin-grep.cmaint
Junio C Hamano
17 years ago
3 changed files with 91 additions and 2 deletions
@ -0,0 +1,89 @@
@@ -0,0 +1,89 @@
|
||||
#!/bin/sh |
||||
|
||||
test_description='update-index with options' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
test_expect_success basics ' |
||||
>one && |
||||
>two && |
||||
>three && |
||||
|
||||
# need --add when adding |
||||
test_must_fail git update-index one && |
||||
test -z "$(git ls-files)" && |
||||
git update-index --add one && |
||||
test zone = "z$(git ls-files)" && |
||||
|
||||
# update-index is atomic |
||||
echo 1 >one && |
||||
test_must_fail git update-index one two && |
||||
echo "M one" >expect && |
||||
git diff-files --name-status >actual && |
||||
test_cmp expect actual && |
||||
|
||||
git update-index --add one two three && |
||||
for i in one three two; do echo $i; done >expect && |
||||
git ls-files >actual && |
||||
test_cmp expect actual && |
||||
|
||||
test_tick && |
||||
( |
||||
test_create_repo xyzzy && |
||||
cd xyzzy && |
||||
>file && |
||||
git add file |
||||
git commit -m "sub initial" |
||||
) && |
||||
git add xyzzy && |
||||
|
||||
test_tick && |
||||
git commit -m initial && |
||||
git tag initial |
||||
' |
||||
|
||||
test_expect_success '--ignore-missing --refresh' ' |
||||
git reset --hard initial && |
||||
echo 2 >one && |
||||
test_must_fail git update-index --refresh && |
||||
echo 1 >one && |
||||
git update-index --refresh && |
||||
rm -f two && |
||||
test_must_fail git update-index --refresh && |
||||
git update-index --ignore-missing --refresh |
||||
|
||||
' |
||||
|
||||
test_expect_success '--unmerged --refresh' ' |
||||
git reset --hard initial && |
||||
info=$(git ls-files -s one | sed -e "s/ 0 / 1 /") && |
||||
git rm --cached one && |
||||
echo "$info" | git update-index --index-info && |
||||
test_must_fail git update-index --refresh && |
||||
git update-index --unmerged --refresh && |
||||
echo 2 >two && |
||||
test_must_fail git update-index --unmerged --refresh >actual && |
||||
grep two actual && |
||||
! grep one actual && |
||||
! grep three actual |
||||
' |
||||
|
||||
test_expect_success '--ignore-submodules --refresh (1)' ' |
||||
git reset --hard initial && |
||||
rm -f two && |
||||
test_must_fail git update-index --ignore-submodules --refresh |
||||
' |
||||
|
||||
test_expect_success '--ignore-submodules --refresh (2)' ' |
||||
git reset --hard initial && |
||||
test_tick && |
||||
( |
||||
cd xyzzy && |
||||
git commit -m "sub second" --allow-empty |
||||
) && |
||||
test_must_fail git update-index --refresh && |
||||
test_must_fail git update-index --ignore-missing --refresh && |
||||
git update-index --ignore-submodules --refresh |
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue