diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-01-17 14:49:26 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-01-17 14:49:26 -0800 |
commit | 9da9965ba6672dc0016a5ac694271bbdd4589e15 (patch) | |
tree | a3fc3dbe012e0f974484b69942479954d94d0441 /submodule.h | |
parent | 0f47d3d78ee2fc4c81950eeaf2c9a11b1a81bcad (diff) | |
parent | 250ab24ab3a35d5857855a2e00483dcd8867fdca (diff) | |
download | git-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.h | 5 |
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); |