git_oid wd_oid;
};
-/**
- * The git_submodule_cache stores known submodules along with timestamps,
- * etc. about when they were loaded
- */
-typedef struct {
- git_repository *repo;
- git_strmap *submodules;
- git_mutex lock;
-
- /* cache invalidation data */
- git_oid head_id;
- git_futils_filestamp index_stamp;
- git_buf gitmodules_path;
- git_futils_filestamp gitmodules_stamp;
- git_futils_filestamp config_stamp;
-} git_submodule_cache;
-
/* Force revalidation of submodule data cache (alloc as needed) */
extern int git_submodule_cache_refresh(git_repository *repo);
#define GIT_SUBMODULE_STATUS__CLEAR_INTERNAL(S) \
((S) & ~(0xFFFFFFFFu << 20))
-/* Internal submodule check does not attempt to refresh cached data */
-extern bool git_submodule__is_submodule(git_repository *repo, const char *name);
-
/* Internal lookup does not attempt to refresh cached data */
extern int git_submodule__lookup(
git_submodule **out, git_repository *repo, const char *path);
extern int git_submodule_parse_update(
git_submodule_update_t *out, const char *value);
-extern const char *git_submodule_ignore_to_str(git_submodule_ignore_t);
-extern const char *git_submodule_update_to_str(git_submodule_update_t);
-extern const char *git_submodule_recurse_to_str(git_submodule_recurse_t);
-
+extern int git_submodule__map(
+ git_repository *repo,
+ git_strmap *map);
#endif