Use git pull --rebase instead of git rebase
My git version 2.26.2 returns an error code 1 and doesn't rebase
in a fast-forward scenario. I have to admit that I'm surprised by
this myself. But git pull --rebase does what we want, so apparently
that should be used instead? Or is this some local configuration
issue?
When I run kdesrc-build without this patch I get:
Updating sysadmin-repo-metadata using existing branch master log_command(): Module sysadmin-repo-metadata, Command: git checkout master # kdesrc-build running: 'git' 'checkout' 'master' # from directory: /home/milian/projects/kf5/src/sysadmin/repo-metadata Already on 'master' Your branch is behind 'origin/master' by 105 commits, and can be fast-forwarded. (use "git pull" to update your local branch) log_command(): Module sysadmin-repo-metadata, Command: git rebase origin/master # kdesrc-build running: 'git' 'rebase' 'origin/master' # from directory: /home/milian/projects/kf5/src/sysadmin/repo-metadata error: nothing to do Logfile for sysadmin-repo-metadata is git-rebase.log Unable to update the source code for sysadmin-repo-metadata
Indeed, I can also easily reproduce this issue outside of kdesrc-build
directly in my shell:
$ git --version git version 2.26.2 $ cd /home/milian/projects/kf5/src/sysadmin/repo-metadata $ git status On branch master Your branch is behind 'origin/master' by 105 commits, and can be fast-forwarded. (use "git pull" to update your local branch) nothing to commit, working tree clean $ git rebase origin/master error: nothing to do $ echo $? 1
A git pull --rebase origin master fast-forwards my local checkout
as intended. This is what this patch does now too, thereby fixing all
the errors/warnings in kdesrc-build (and properly updating my local
checkouts again).