submodule: do not pass null OID to setup_revisions
commit4d36f88be7401fb4ff225557aae05a458091b24b
authorJonathan Tan <jonathantanmy@google.com>
Thu, 24 May 2018 20:47:29 +0000 (24 13:47 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 25 May 2018 06:25:42 +0000 (25 15:25 +0900)
treee5f6ac6d2d65b07a78653fb9f0bcb12974f3940d
parent468165c1d8a442994a825f3684528361727cd8c0
submodule: do not pass null OID to setup_revisions

If "git pull --recurse-submodules --rebase" is invoked when the current
branch and its corresponding remote-tracking branch have no merge base,
a "bad object" fatal error occurs. This issue was introduced with commit
a6d7eb2c7a ("pull: optionally rebase submodules (remote submodule
changes only)", 2017-06-23), which also introduced this feature.

This is because cmd_pull() in builtin/pull.c thus invokes
submodule_touches_in_range() with a null OID as the first parameter.
Ensure that this case works, and document what happens in this case.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Reviewed-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
submodule.c
submodule.h
t/t5572-pull-submodule.sh