diff options
author | Shaoxuan Yuan <shaoxuan.yuan02@gmail.com> | 2022-08-07 04:13:33 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-08-08 20:23:26 (GMT) |
commit | b29ad38322d37925d217314383352c5341422a1c (patch) | |
tree | 6ae4c354dd5e555c36f85962a902c90163231532 /pathspec.h | |
parent | ba808251aa9463ac192000316304a348e5eabfbe (diff) | |
download | git-b29ad38322d37925d217314383352c5341422a1c.zip git-b29ad38322d37925d217314383352c5341422a1c.tar.gz git-b29ad38322d37925d217314383352c5341422a1c.tar.bz2 |
pathspec.h: move pathspec_needs_expanded_index() from reset.c to here
Method pathspec_needs_expanded_index() in reset.c from 4d1cfc1351
(reset: make --mixed sparse-aware, 2021-11-29) is reusable when we
need to verify if the index needs to be expanded when the command
is utilizing a pathspec rather than a literal path.
Move it to pathspec.h for reusability.
Add a few items to the function so it can better serve its purpose as
a standalone public function:
* Add a check in front so if the index is not sparse, return early since
no expansion is needed.
* It now takes an arbitrary 'struct index_state' pointer instead of
using `the_index` and `active_cache`.
* Add documentation to the function.
Helped-by: Victoria Dye <vdye@github.com>
Helped-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Shaoxuan Yuan <shaoxuan.yuan02@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pathspec.h')
-rw-r--r-- | pathspec.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -171,4 +171,16 @@ int match_pathspec_attrs(struct index_state *istate, const char *name, int namelen, const struct pathspec_item *item); +/* + * Determine whether a pathspec will match only entire index entries (non-sparse + * files and/or entire sparse directories). If the pathspec has the potential to + * match partial contents of a sparse directory, return 1 to indicate the index + * should be expanded to match the appropriate index entries. + * + * For the sake of simplicity, always return 1 if using a more complex "magic" + * pathspec. + */ +int pathspec_needs_expanded_index(struct index_state *istate, + const struct pathspec *pathspec); + #endif /* PATHSPEC_H */ |