summaryrefslogtreecommitdiff
path: root/submodule.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-01-17 14:49:26 -0800
committerJunio C Hamano <gitster@pobox.com>2017-01-17 14:49:26 -0800
commit9da9965ba6672dc0016a5ac694271bbdd4589e15 (patch)
treea3fc3dbe012e0f974484b69942479954d94d0441 /submodule.h
parent0f47d3d78ee2fc4c81950eeaf2c9a11b1a81bcad (diff)
parent250ab24ab3a35d5857855a2e00483dcd8867fdca (diff)
downloadgit-9da9965ba6672dc0016a5ac694271bbdd4589e15.tar.gz
Merge branch 'hv/submodule-not-yet-pushed-fix' into maint
The code in "git push" to compute if any commit being pushed in the superproject binds a commit in a submodule that hasn't been pushed out was overly inefficient, making it unusable even for a small project that does not have any submodule but have a reasonable number of refs. * hv/submodule-not-yet-pushed-fix: submodule_needs_pushing(): explain the behaviour when we cannot answer batch check whether submodule needs pushing into one call serialize collection of refs that contain submodule changes serialize collection of changed submodules
Diffstat (limited to 'submodule.h')
-rw-r--r--submodule.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/submodule.h b/submodule.h
index d9e197a948..9454806dc5 100644
--- a/submodule.h
+++ b/submodule.h
@@ -3,6 +3,7 @@
struct diff_options;
struct argv_array;
+struct sha1_array;
enum {
RECURSE_SUBMODULES_CHECK = -4,
@@ -62,9 +63,9 @@ int submodule_uses_gitfile(const char *path);
int ok_to_remove_submodule(const char *path);
int merge_submodule(unsigned char result[20], const char *path, const unsigned char base[20],
const unsigned char a[20], const unsigned char b[20], int search);
-int find_unpushed_submodules(unsigned char new_sha1[20], const char *remotes_name,
+int find_unpushed_submodules(struct sha1_array *commits, const char *remotes_name,
struct string_list *needs_pushing);
-int push_unpushed_submodules(unsigned char new_sha1[20], const char *remotes_name);
+int push_unpushed_submodules(struct sha1_array *commits, const char *remotes_name);
void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir);
int parallel_submodules(void);