Fix some issues with the implementation and use of reset_head(). The last patch was previously posted as [1], I have updated the commit message and rebased it onto the fixes in this series. There are a couple of small conflicts merging this into seen, I think they should be easy to resolve (in rebase.c take both sides in reset.c take the changed lines from each side). These patches are based on pw/rebase-of-a-tag-fix [1] https://lore.kernel.org/git/39ad40c9297531a2d42b7263a1d41b1ecbc23c0a.1631108472.git.gitgitgadget@xxxxxxxxx/ Phillip Wood (11): rebase: factor out checkout for up to date branch reset_head(): fix checkout reset_head(): don't run checkout hook if there is an error reset_head(): remove action parameter reset_head(): factor out ref updates reset_head(): make default_reflog_action optional rebase: cleanup reset_head() calls reset_head(): take struct rebase_head_opts rebase --apply: fix reflog rebase --apply: set ORIG_HEAD correctly rebase -m: don't fork git checkout builtin/merge.c | 6 +- builtin/rebase.c | 97 +++++++++++++++---------- reset.c | 143 ++++++++++++++++++++++--------------- reset.h | 33 +++++++-- sequencer.c | 48 ++++--------- sequencer.h | 3 +- t/t3406-rebase-message.sh | 23 ++++++ t/t3418-rebase-continue.sh | 26 +++++++ 8 files changed, 240 insertions(+), 139 deletions(-) base-commit: 7740ac691d8e7f1bed67bcbdb1ee5c5c618f7373 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1049%2Fphillipwood%2Fwip%2Frebase-reset-head-fixes-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1049/phillipwood/wip/rebase-reset-head-fixes-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/1049 -- gitgitgadget