]> git.ipfire.org Git - thirdparty/git.git/commit
diff-lib: handle index diffs with sparse dirs
authorDerrick Stolee <dstolee@microsoft.com>
Wed, 14 Jul 2021 13:12:35 +0000 (13:12 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Jul 2021 20:42:49 +0000 (13:42 -0700)
commit9eb00af5627f1a04ca083128085ca6774fce0524
treecf2dae91e65f37c752a85d3d26910c75d477f6ad
parent69bdbdb0ee25bd64bd3ad2fe241d434442e96f75
diff-lib: handle index diffs with sparse dirs

While comparing an index to a tree, we may see a sparse directory entry.
In this case, we should compare that portion of the tree to the tree
represented by that entry. This could include a new tree which needs to
be expanded to a full list of added files. It could also include an
existing tree, in which case all of the changes inside are important to
describe, including the modifications, additions, and deletions. Note
that the case where the tree has a path and the index does not remains
identical to before: the lack of a cache entry is the same with a sparse
index.

Use diff_tree_oid() appropriately to compute the diff.

Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff-lib.c