path: root/dir.h
diff options
authorDerrick Stolee <>2019-11-21 22:04:42 (GMT)
committerJunio C Hamano <>2019-11-22 07:11:44 (GMT)
commitaf09ce24a9c79f6efc12d1d8f1052e1d1dbe5016 (patch)
tree891fd159fc031e75616a0afea9ec33f7e39b3202 /dir.h
parent96cc8ab5318cd57c8bc203b8f064b35883b2386f (diff)
sparse-checkout: init and set in cone mode
To make the cone pattern set easy to use, update the behavior of 'git sparse-checkout (init|set)'. Add '--cone' flag to 'git sparse-checkout init' to set the config option 'core.sparseCheckoutCone=true'. When running 'git sparse-checkout set' in cone mode, a user only needs to supply a list of recursive folder matches. Git will automatically add the necessary parent matches for the leading directories. When testing 'git sparse-checkout set' in cone mode, check the error stream to ensure we do not see any errors. Specifically, we want to avoid the warning that the patterns do not match the cone-mode patterns. Helped-by: Eric Wong <> Helped-by: Johannes Schindelin <> Signed-off-by: Derrick Stolee <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'dir.h')
1 files changed, 4 insertions, 0 deletions
diff --git a/dir.h b/dir.h
index f8edbca..8e23208 100644
--- a/dir.h
+++ b/dir.h
@@ -299,6 +299,10 @@ int is_excluded(struct dir_struct *dir,
struct index_state *istate,
const char *name, int *dtype);
+int pl_hashmap_cmp(const void *unused_cmp_data,
+ const struct hashmap_entry *a,
+ const struct hashmap_entry *b,
+ const void *key);
int hashmap_contains_parent(struct hashmap *map,
const char *path,
struct strbuf *buffer);