-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refresh-index: fix bitmask assignment
5fdeacb (Teach update-index about --ignore-submodules, 2008-05-14) added a new refresh option flag but did not assign a unique bit for it correctly, and broke "update-index --ignore-missing". This fixes it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Junio C Hamano
committed
Jul 20, 2008
1 parent
a1b6fb0
commit 3f1b7b6
Showing
2 changed files
with
90 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |