Merge branch 'jt/remove-pack-bitmap-global'
[gitweb.git] / submodule.h
index e5526f6aaab93f85d279e89fc33b8e2e8740c32a..4644683e6cb39916a942e501eacb8663d89c3f6b 100644 (file)
@@ -89,20 +89,22 @@ extern int submodule_uses_gitfile(const char *path);
 #define SUBMODULE_REMOVAL_IGNORE_UNTRACKED (1<<1)
 #define SUBMODULE_REMOVAL_IGNORE_IGNORED_UNTRACKED (1<<2)
 extern int bad_to_remove_submodule(const char *path, unsigned flags);
-extern int merge_submodule(struct object_id *result, const char *path,
-                          const struct object_id *base,
-                          const struct object_id *a,
-                          const struct object_id *b, int search);
 
-/* Checks if there are submodule changes in a..b. */
+int add_submodule_odb(const char *path);
+
+/*
+ * Checks if there are submodule changes in a..b. If a is the null OID,
+ * checks b and all its ancestors instead.
+ */
 extern int submodule_touches_in_range(struct object_id *a,
                                      struct object_id *b);
 extern int find_unpushed_submodules(struct oid_array *commits,
                                    const char *remotes_name,
                                    struct string_list *needs_pushing);
+struct refspec;
 extern int push_unpushed_submodules(struct oid_array *commits,
                                    const struct remote *remote,
-                                   const char **refspec, int refspec_nr,
+                                   const struct refspec *rs,
                                    const struct string_list *push_options,
                                    int dry_run);
 /*
@@ -119,6 +121,8 @@ extern int submodule_move_head(const char *path,
                               const char *new_head,
                               unsigned flags);
 
+void submodule_unset_core_worktree(const struct submodule *sub);
+
 /*
  * Prepare the "env_array" parameter of a "struct child_process" for executing
  * a submodule by clearing any repo-specific environment variables, but