Re: [PATCH v2 0/6] Fix checkout-dash to work with rebase

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano wrote:
> I actually tried to reorder the patches and they seem to work OK as
> expected.  And I think it makes sense to order them the way I've
> been suggesting, so I'll tentatively queue the result of reordering
> on 'rr/rebase-checkout-reflog' and push it out as a part of 'pu'.
>
> Please check to see if I introduced a new bug while doing so.

Thanks for the reorder and commit message tweaks.  I'm working on the
series you put up on `pu` now.

> For example, the one in "git reabse" does this:
>
>     GIT_REFLOG_ACTION="$GIT_REFLOG_ACTION: checkout $onto_name"
>     git checkout -q "$onto^0" || die "could not detach HEAD"
>     git update-ref ORIG_HEAD $orig_head
>     ...
>     run_specific_rebase
>
> But the specific rebase, e.g. git-rebase--interactive, does this:
>
>         case $head_name in
>         refs/*)
>                 message="$GIT_REFLOG_ACTION: $head_name onto $onto" &&
>                 git update-ref -m "$message" $head_name $newhead $orig_head &&
>                 git symbolic-ref \
>                   -m "$GIT_REFLOG_ACTION: returning to $head_name" \
>                   HEAD $head_name
>                 ;;
>         esac && {
>
> I think the message you added to "git reabse" is only meant for that
> specific "checkout $onto", but it is set globally.  Wouldn't it
> affect later use, which expected it to be "rebase" and nothing else?

Both rebase.sh and rebase--interactive.sh set a sane GIT_REFLOG_ACTION
right on top (using set_reflog_action), so no worries.  I'll just
double-check to make sure that no bogus/ incorrect messages are
printed.

> Perhaps something like this on top of the entire series may be
> sufficient (which will be queued as "SQUASH???" at the tip).

I think this takes the wrong approach to the problem.  In my opinion,
the correct approach is to actually overshadow die() with a function
that clears GIT_REFLOG_ACTION before calling die().

>         git grep -C2 'git checkout' -- git-rebase\*.sh

Ugh.  I'll check all the codepaths thoroughly before submitting a re-roll.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]