Merge branch 'gc/fetch-negotiate-only-early-return'
commit472a219f8daa522157886979ec954d4730755db1
authorJunio C Hamano <gitster@pobox.com>
Wed, 9 Feb 2022 22:20:59 +0000 (9 14:20 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 Feb 2022 22:20:59 +0000 (9 14:20 -0800)
tree2644011205730fe1e7990f436fe447835024cc45
parentec4f70e64711cbf550b2cfc1f78ccd9325d697b7
parentde4eaae63a87ee33baf477ed10e6e97d649084cf
Merge branch 'gc/fetch-negotiate-only-early-return'

"git fetch --negotiate-only" is an internal command used by "git
push" to figure out which part of our history is missing from the
other side.  It should never recurse into submodules even when
fetch.recursesubmodules configuration variable is set, nor it
should trigger "gc".  The code has been tightened up to ensure it
only does common ancestry discovery and nothing else.

* gc/fetch-negotiate-only-early-return:
  fetch: help translators by reusing the same message template
  fetch --negotiate-only: do not update submodules
  fetch: skip tasks related to fetching objects
  fetch: use goto cleanup in cmd_fetch()
builtin/fetch.c
t/t5516-fetch-push.sh
t/t5702-protocol-v2.sh