Re: [PATCH] rebase: new option to post edit a squashed or fixed up commit

2014-03-11 Thread Duy Nguyen
On Tue, Mar 11, 2014 at 2:47 AM, Junio C Hamano  wrote:
> Nguyễn Thái Ngọc Duy   writes:
>
>> After squashing or fixing up, you may want to have a final look at the
>> commit, edit some more if needed or even do some testing. --postedit
>> enables that. This is (to me) a paranoid mode so either I enable it
>> for all squashes and fixups, or none. Hence a new option, not new todo
>> commands that give finer selection.
>
> If we were to adopt Michael's (?) idea of allowing flags to each
> insn in the insn sheet, would this restriction be easily lifted?
>
> That is, instead of saying "squash", you say "squash --stop" or
> something.

I think I still need something similar, otherwise I would need to
s/squash/squash --stop/ after "rebase -i --autosquash". --postedit
code could be simplified by generating "squash --stop" though.

>> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
>> index a1adae8..42061fc 100644
>> --- a/git-rebase--interactive.sh
>> +++ b/git-rebase--interactive.sh
>> @@ -571,6 +571,11 @@ do_next () {
>>   ;;
>>   esac
>>   record_in_rewritten $sha1
>> + if test -n "$postedit"
>> + then
>> + warn "Stopped at $sha1... $rest"
>> + exit_with_patch $sha1 0
>> + fi
>>   ;;
>
> I would have expected that any new code would stop only at the last
> squash (or fixup) in a series of squashes, but this appears to stop
> even at an intermediate squashed result, which will not appear in
> the final history.  Am I misreading the patch (or misunderstanding
> the intent of the patch)?

Never thought of that case. Yes it should only stop at the last squash/fixup.
-- 
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] rebase: new option to post edit a squashed or fixed up commit

2014-03-10 Thread Junio C Hamano
Nguyễn Thái Ngọc Duy   writes:

> After squashing or fixing up, you may want to have a final look at the
> commit, edit some more if needed or even do some testing. --postedit
> enables that. This is (to me) a paranoid mode so either I enable it
> for all squashes and fixups, or none. Hence a new option, not new todo
> commands that give finer selection.

If we were to adopt Michael's (?) idea of allowing flags to each
insn in the insn sheet, would this restriction be easily lifted?

That is, instead of saying "squash", you say "squash --stop" or
something.

> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> index a1adae8..42061fc 100644
> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -571,6 +571,11 @@ do_next () {
>   ;;
>   esac
>   record_in_rewritten $sha1
> + if test -n "$postedit"
> + then
> + warn "Stopped at $sha1... $rest"
> + exit_with_patch $sha1 0
> + fi
>   ;;

I would have expected that any new code would stop only at the last
squash (or fixup) in a series of squashes, but this appears to stop
even at an intermediate squashed result, which will not appear in
the final history.  Am I misreading the patch (or misunderstanding
the intent of the patch)?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html