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 -- gitgitgadget