Re: [PATCH] interpret-trailers: obey scissors lines
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 15, 2017, 03:32 UTC
- Message-ID
- <xmqqpofax0af.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <20170515030726.mmbb43zxqgtbrbuy@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 36 quoted lines
> On Mon, May 15, 2017 at 11:12:03AM +0900, Junio C Hamano wrote:
>
>> >> diff --git a/builtin/commit.c b/builtin/commit.c
>> >> index 2de5f6cc6..2ce9c339d 100644
>> >> --- a/builtin/commit.c
>> >> +++ b/builtin/commit.c
>> >> @@ -1735,7 +1735,8 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
>> >>
>> >> if (verbose || /* Truncate the message just before the diff, if any. */
>> >> cleanup_mode == CLEANUP_SCISSORS)
>> >> - wt_status_truncate_message_at_cut_line(&sb);
>> >> + strbuf_setlen(&sb,
>> >> + wt_status_last_nonscissors_index(sb.buf, sb.len));
>> >
>> > This hunk surprised me at first (that we would need to touch commit.c at
>> > all), but the refactoring makes sense.
>>
>> This still surprises me. If the problem is in interpret-trailers,
>> why do we even need to touch cmd_commit()? If GIT_EDITOR returns us
>
> The behavior of cmd_commit() shouldn't be changed by the patch. But to
> make the interface suitable for the new callsite (which doesn't have a
> strbuf, but a ptr/len buffer), it needs to return the length rather than
> shortening the strbuf. We could leave in place:
>
> void wt_status_truncate_message_at_cut_line(struct strbuf *sb)
> {
> strbuf_setlen(sb, wt_status_last_nonscissors_index(sb->buf, sb->len));
> }
>
> but it would only have this one caller.
>
> If I were doing the patch series, I'd probably have split that
> refactoring into its own patch and discussed the reason separately. I
> waffled on whether or not to ask Brian to do so (and obviously didn't in
> the end).I suspect that you would have just explained "since there is only one caller, let's open-code it" in the log message, without making this a two-patch series, and that would also have been perfectly understandable (and in this case probably preferrable).
So the patch text would be OK; it was surprising to have the change without being explained, that's all.
Thanks.