Ramkumar Ramachandra [off-list ref] writes:
So after extensive discussions with Junio, I have updated [5/6] to
special-case rebase and rebase -i instead of dropping the "HEAD
detached from" message altogether. Also, [1/6] includes two more
tests, as suggested by Junio.
Junio: The message is now the constant "rebase in progress; onto
$ONTO".
That message is better than I was anticipating.
I was actually assuming that you would leave them as they are
i.e. "# HEAD detached at xxx", as we agreed that we will see them
improved anyway by the other topic.
I am still puzzled to see that the change to checkout comes at the
very end. With "do not depend on rebase reflog messages" done
before the "checkout: respect reflog-action", I was hoping that we
can have changes to the actual reflog message made to rebase (patch
2 and 3) can be done at the very end. Was I missing something else?
In other words, the order I was anticipating to see after the
discussion (this is different from saying "A series that is not
ordered like this is unacceptable") was:
wt-status: remove unused field in grab_1st_switch_cbdata
This is an unrelated clean-up, and can be done before anything else.
t/checkout-last: checkout - doesn't work after rebase
This spells out what we want to happen at the end and marks the
current breakage.
status: do not depend on rebase reflog messages
This compensates for fallouts from the next change.
checkout: respect GIT_REFLOG_ACTION
And this is the fix, the most important step.
rebase: prepare to write reflog message for checkout
rebase -i: prepare to write reflog message for checkout
And these are icing on the cake, but that cannot be done before
status is fixed.