Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions builtin/diff-index.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ int cmd_diff_index(int argc, const char **argv, const char *prefix)
usage(diff_cache_usage);

git_config(git_diff_basic_config, NULL); /* no "diff" UI options */

prepare_repo_settings(the_repository);
the_repository->settings.command_requires_full_index = 0;

repo_init_revisions(the_repository, &rev, prefix);
rev.abbrev = 0;
prefix = precompose_argv_prefix(argc, argv, prefix);
Expand Down
15 changes: 12 additions & 3 deletions t/t1092-sparse-checkout-compatibility.sh
Original file line number Diff line number Diff line change
Expand Up @@ -803,6 +803,8 @@ test_expect_success 'update-index --remove outside sparse definition' '
test_sparse_match git diff --cached --name-status &&
test_cmp expect sparse-checkout-out &&

test_sparse_match git diff-index --cached HEAD &&

# Reset the state
test_all_match git reset --hard &&

Expand All @@ -812,6 +814,8 @@ test_expect_success 'update-index --remove outside sparse definition' '
test_sparse_match git diff --cached --name-status &&
test_must_be_empty sparse-checkout-out &&

test_sparse_match git diff-index --cached HEAD &&

# Reset the state
test_all_match git reset --hard &&

Expand All @@ -823,7 +827,9 @@ test_expect_success 'update-index --remove outside sparse definition' '
D folder1/a
EOF
test_sparse_match git diff --cached --name-status &&
test_cmp expect sparse-checkout-out
test_cmp expect sparse-checkout-out &&

test_sparse_match git diff-index --cached HEAD
'

test_expect_success 'update-index with directories' '
Expand Down Expand Up @@ -1551,7 +1557,7 @@ test_expect_success 'sparse-index is not expanded: describe' '
ensure_not_expanded describe
'

test_expect_success 'sparse index is not expanded: diff' '
test_expect_success 'sparse index is not expanded: diff and diff-index' '
init_repos &&

write_script edit-contents <<-\EOF &&
Expand All @@ -1568,6 +1574,7 @@ test_expect_success 'sparse index is not expanded: diff' '
test_all_match git diff --cached &&
ensure_not_expanded diff &&
ensure_not_expanded diff --cached &&
ensure_not_expanded diff-index --cached HEAD &&

# Add file outside cone
test_all_match git reset --hard &&
Expand All @@ -1582,6 +1589,7 @@ test_expect_success 'sparse index is not expanded: diff' '
test_all_match git diff --cached &&
ensure_not_expanded diff &&
ensure_not_expanded diff --cached &&
ensure_not_expanded diff-index --cached HEAD &&

# Merge conflict outside cone
# The sparse checkout will report a warning that is not in the
Expand All @@ -1594,7 +1602,8 @@ test_expect_success 'sparse index is not expanded: diff' '
test_all_match git diff &&
test_all_match git diff --cached &&
ensure_not_expanded diff &&
ensure_not_expanded diff --cached
ensure_not_expanded diff --cached &&
ensure_not_expanded diff-index --cached HEAD
'

test_expect_success 'sparse index is not expanded: show and rev-parse' '
Expand Down