From: Junio C Hamano Date: Mon, 4 Jun 2018 12:39:48 +0000 (+0900) Subject: Merge branch 'jt/submodule-pull-recurse-rebase' X-Git-Tag: v2.18.0-rc1~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f635b8d17b673ffb96c0f10d11751500e1892b2a;p=thirdparty%2Fgit.git Merge branch 'jt/submodule-pull-recurse-rebase' "git pull -recurse-submodules --rebase", when the submodule repository's history did not have anything common between ours and the upstream's, failed to execute. We need to fetch from them to continue even in such a case. * jt/submodule-pull-recurse-rebase: submodule: do not pass null OID to setup_revisions --- f635b8d17b673ffb96c0f10d11751500e1892b2a diff --cc submodule.h index a2871d0312,0189b3ebde..7856b8a0b3 --- a/submodule.h +++ b/submodule.h @@@ -89,10 -89,15 +89,13 @@@ extern int submodule_uses_gitfile(cons #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); + +int add_submodule_odb(const char *path); - /* Checks if there are submodule changes in a..b. */ + /* + * 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,