Merge branch 'jt/submodule-pull-recurse-rebase'
authorJunio C Hamano <gitster@pobox.com>
Mon, 4 Jun 2018 12:39:48 +0000 (21:39 +0900)
committerJunio C Hamano <gitster@pobox.com>
Mon, 4 Jun 2018 12:39:48 +0000 (21:39 +0900)
"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

1  2 
submodule.c
submodule.h
diff --cc submodule.c
Simple merge
diff --cc submodule.h
index a2871d0312c6a3b0afa515a9d8c80a01ffc9e0d0,0189b3ebdeedf4eb00f61bf85a60cae40588bae5..7856b8a0b3d676cde20095f69a4d000d8cf38615
@@@ -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,