mbox series

[0/4] Fix 'pull --rebase --recurse-submodules' when local and upstream branches have no fork-point

Message ID pull.789.git.1605314085.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series Fix 'pull --rebase --recurse-submodules' when local and upstream branches have no fork-point | expand

Message

Jean-Noël Avila via GitGitGadget Nov. 14, 2020, 12:34 a.m. UTC
This series fixes a bug in 'git pull --rebase --recurse-submodules' when the
current branch and the remote-tracking branch we are pulling from have no
fork-point (git merge-base --fork-point refs/remotes/<remote>/<upstream>
<current-branch> returns empty), resulting in a misleading and fatal error
message:

fatal: cannot rebase with locally recorded submodule modifications

This is patch 4/4.

Patch 1/4 is a preparatory refactoring, and patches 2-3 add comments to
t5552-pull-submodules to describe 'pull --rebase --recurse-submodules' tests
a little better.

Philippe Blain (4):
  pull --rebase: compute rebase arguments in separate function
  t5572: add notes on a peculiar test
  t5572: describe '--rebase' tests a little more
  pull: check for local submodule modifications with the right range

 builtin/pull.c            | 48 ++++++++++++++++++++++++---------
 t/t5572-pull-submodule.sh | 56 +++++++++++++++++++++++++++++++++++++--
 2 files changed, 90 insertions(+), 14 deletions(-)


base-commit: e4d83eee9239207622e2b1cc43967da5051c189c
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-789%2Fphil-blain%2Fpull-recurse-no-fork-point-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-789/phil-blain/pull-recurse-no-fork-point-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/789