Re: [PATCH 2/2] pull --rebase: reinstate helpful message on abort

2015-10-12 Thread Junio C Hamano
Johannes Schindelin  writes:

> Hi Junio,
>
> On 2015-10-09 20:36, Junio C Hamano wrote:
>> Johannes Schindelin  writes:
>> 
>>> When calling `git pull --rebase`, things can go wrong. In such a case,
>>> we want to tell the user about the most common ways out of this fix:
>>> ...
>>>  builtin/am.c | 1 +
>>>  1 file changed, 1 insertion(+)
>> 
>> It is strange to see a patch to am that does not talk anything about
>> it, though.  And looking at the codepath, the issue does not have
>> much to do with "pull --rebase".  It doesn't even have much to do
>> with "rebase".  This is purely about "am -3" fallback codepath.
>
> I made it a habit of describing the big picture in commit messages,
> including the original motivation for the patch. Naturally, it is
> purely an implementation detail that the bug displayed by `git pull
> --rebase` is fixed by modifying `am.c`.

Yup, but that is "I happened to notice that bug first in a command
that uses another command that happens to use this buggy one".  That
may be interesting in the "peeing in the snow" sense, but not very
interesting in the big picture of ensuring the health of the entire
codebase.

The "common ways out of this" helpful message is not even coming
from "pull --rebase" or even "rebase" in the first place.  What you
are reinstating helpful message on abort is "am -3".

"This fixes am -3, hence incidentally fixes rebase and hence fixes
pull --rebase, too" would be the most useful way to describe this
change.  The initial report being about "pull --rebase" is of much
lessor importance, I would think.


--
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 2/2] pull --rebase: reinstate helpful message on abort

2015-10-12 Thread Johannes Schindelin
Hi Junio,

On 2015-10-09 20:36, Junio C Hamano wrote:
> Johannes Schindelin  writes:
> 
>> When calling `git pull --rebase`, things can go wrong. In such a case,
>> we want to tell the user about the most common ways out of this fix:
>> ...
>>  builtin/am.c | 1 +
>>  1 file changed, 1 insertion(+)
> 
> It is strange to see a patch to am that does not talk anything about
> it, though.  And looking at the codepath, the issue does not have
> much to do with "pull --rebase".  It doesn't even have much to do
> with "rebase".  This is purely about "am -3" fallback codepath.

I made it a habit of describing the big picture in commit messages, including 
the original motivation for the patch. Naturally, it is purely an 
implementation detail that the bug displayed by `git pull --rebase` is fixed by 
modifying `am.c`.

> Because fall-back-threeway wants to react to an error (i.e. calls
> merge_recursive_generic() and wants to use its return value), but
> merge_recursive_generic() can die, it fails to do so.  It would not
> even run rerere(), for example.

Precisely, So the symptom triggering the bug fix was seemingly unrelated to the 
patch, hence the need for the comprehensive commit message.

Since our tastes seem to differ a bit, maybe we can have the best of both 
worlds by appending the following paragraph to the commit message?

-- snipsnap --
This patch actually fixes a deeper-seated bug where the non-gentle death of the 
recursive merge would prevent not only the message from being shown but *any* 
code to run after the failed merge, including rerere.
--
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 2/2] pull --rebase: reinstate helpful message on abort

2015-10-09 Thread Junio C Hamano
Johannes Schindelin  writes:

> When calling `git pull --rebase`, things can go wrong. In such a case,
> we want to tell the user about the most common ways out of this fix:
> ...
>  builtin/am.c | 1 +
>  1 file changed, 1 insertion(+)

It is strange to see a patch to am that does not talk anything about
it, though.  And looking at the codepath, the issue does not have
much to do with "pull --rebase".  It doesn't even have much to do
with "rebase".  This is purely about "am -3" fallback codepath.

Because fall-back-threeway wants to react to an error (i.e. calls
merge_recursive_generic() and wants to use its return value), but
merge_recursive_generic() can die, it fails to do so.  It would not
even run rerere(), for example.

--
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