MeeseeksDev
MeeseeksDev copied to clipboard
Better backport commands
I wonder if backporting instructions would be more helpful if instead of:
git checkout 3.6.x
git pull
git cherry-pick -x -m1 1728207ffbad5baea1e77e4005230632bf6f16a6
git commit -am 'Backport PR #15279: Update benchmark reporter snapshots'
git push YOURFORK 3.6.x:auto-backport-of-pr-15279-on-3.6.x
it was:
git checkout 3.6.x
# (change 1)
git pull # if on a fork, use `git fetch upstream && git merge upstream/3.6.x`
# (change 2)
git checkout -b backport-of-pr-15279-on-3.6.x
git cherry-pick -x -m1 1728207ffbad5baea1e77e4005230632bf6f16a6
git commit -am 'Backport PR #15279: Update benchmark reporter snapshots'
# (change 3)
git push --set-upstream origin backport-of-pr-15279-on-3.6.x
Why?
- Larger projects often work using forks where
git pullis often not enough - Creating a new branch early avoids having to reset our old branch when doing multiple backports
- Is not strictly required for users with
push.autoSetupRemotebut I personally find it safer to have an explicit target
What do you all think?
yeah, we can update if you wish, in general we may want also reset --hard upstream/tag, but as many instructions those will often vary, for example in your instructions you refer to upstream with the upstream name, but it often might not be the case.
I believe there is even a way to create a branch based on a tag in a single command
git checkout -b autobacport-xxx origin/3.6.x
On Fri, Oct 20, 2023 at 21:45 Michał Krassowski @.***> wrote:
I wonder if backporting instructions would be more helpful if instead of:
git checkout 3.6.x git pull git cherry-pick -x -m1 1728207ffbad5baea1e77e4005230632bf6f16a6 git commit -am 'Backport PR #15279: Update benchmark reporter snapshots' git push YOURFORK 3.6.x:auto-backport-of-pr-15279-on-3.6.x
it was:
git checkout 3.6.x# (change 1) git pull # if on a fork, use
git fetch upstream && git merge upstream/3.6.x# (change 2) git checkout -b backport-of-pr-15279-on-3.6.x git cherry-pick -x -m1 1728207ffbad5baea1e77e4005230632bf6f16a6 git commit -am 'Backport PR #15279: Update benchmark reporter snapshots'# (change 3) git push --set-upstream origin backport-of-pr-15279-on-3.6.xWhy?
- Larger projects often work using forks where git pull is often not enough
- Creating a new branch early avoids having to reset our old branch when doing multiple backports
- Is not strictly required for users with push.autoSetupRemote but I personally find it safer to have an explicit target
What do you all think?
— Reply to this email directly, view it on GitHub https://github.com/MeeseeksBox/MeeseeksDev/issues/115, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACR5TYQ4KXI6VVR3UJCS4TYALIFHAVCNFSM6AAAAAA6JP26MOVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE2TIOJSGYYDMMY . You are receiving this because you are subscribed to this thread.Message ID: @.***>