Re: [PATCH 2/3] Implement --dirty for git-rebase--interactive.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 12, 2007, 19:51 UTC
- Message-ID
- <7vpryf2qed.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <1193952624-608-3-git-send-email-Simon.Sasburg@gmail.com>
Simon Sasburg <simon.sasburg@gmail.com> writes:
Show 14 quoted lines
> +restore_dirty_state () {
> + lastmsg=$(git-rev-list HEAD^..HEAD --pretty=oneline | sed "s:[^ ]* ::")
> + if test "$lastmsg" = "REBASE--dirty: store index..workingtree diff"
> + then
> + echo "Restoring dirty index state"
> + git reset --mixed HEAD^
> + fi
> + lastmsg=$(git-rev-list HEAD^..HEAD --pretty=oneline | sed "s:[^ ]* ::")
> + if test "$lastmsg" = "REBASE--dirty: store HEAD..index diff"
> + then
> + echo "Restoring dirty working dir state"
> + git reset --soft HEAD^
> + fi
> +}This forces the user to pay the two rev-list overhead, even when running rebase without --dirty option. Can we avoid paying any, when not giving the option?
Also it pollutes the reflog of the branch, but that won't be a huge issue with Dscho's "detach HEAD while rebasing" patch.