Merge branch 'jk/trailers-parse' into next
[gitweb.git] / submodule-config.h
index e4857f53a87d4b8316d53c5f90bc47286179d2c5..cccd34b929f5299fbba6f43c74daeb96773aebdf 100644 (file)
@@ -15,18 +15,38 @@ struct submodule {
        const char *url;
        int fetch_recurse;
        const char *ignore;
+       const char *branch;
        struct submodule_update_strategy update_strategy;
        /* the sha1 blob id of the responsible .gitmodules file */
        unsigned char gitmodules_sha1[20];
+       int recommend_shallow;
 };
 
-int parse_fetch_recurse_submodules_arg(const char *opt, const char *arg);
-int parse_push_recurse_submodules_arg(const char *opt, const char *arg);
-int parse_submodule_config_option(const char *var, const char *value);
-const struct submodule *submodule_from_name(const unsigned char *commit_sha1,
-               const char *name);
-const struct submodule *submodule_from_path(const unsigned char *commit_sha1,
-               const char *path);
-void submodule_free(void);
+struct submodule_cache;
+struct repository;
+
+extern void submodule_cache_free(struct submodule_cache *cache);
+
+extern int parse_submodule_fetchjobs(const char *var, const char *value);
+extern int parse_fetch_recurse_submodules_arg(const char *opt, const char *arg);
+struct option;
+extern int option_fetch_parse_recurse_submodules(const struct option *opt,
+                                                const char *arg, int unset);
+extern int parse_update_recurse_submodules_arg(const char *opt, const char *arg);
+extern int parse_push_recurse_submodules_arg(const char *opt, const char *arg);
+extern int parse_submodule_config_option(const char *var, const char *value);
+extern int submodule_config_option(struct repository *repo,
+                                  const char *var, const char *value);
+extern const struct submodule *submodule_from_name(
+               const struct object_id *commit_or_tree, const char *name);
+extern const struct submodule *submodule_from_path(
+               const struct object_id *commit_or_tree, const char *path);
+extern const struct submodule *submodule_from_cache(struct repository *repo,
+                                                   const struct object_id *treeish_name,
+                                                   const char *key);
+extern int gitmodule_oid_from_commit(const struct object_id *commit_oid,
+                                    struct object_id *gitmodules_oid,
+                                    struct strbuf *rev);
+extern void submodule_free(void);
 
 #endif /* SUBMODULE_CONFIG_H */