From: Junio C Hamano <gitster@pobox•com>
To: "René Scharfe" <l.s.r@web•de>
Cc: Vegard Nossum <vegard.nossum@oracle•com>, git@vger•kernel.org
Subject: Re: [PATCH 2/3] xdiff: -W: include immediately preceding non-empty lines in context
Date: Sat, 14 Jan 2017 18:39:09 -0800 [thread overview]
Message-ID: <xmqqy3ydcaia.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <48bdfd94-2fd4-bd55-d78b-2877e195fb82@web.de> ("René Scharfe"'s message of "Sat, 14 Jan 2017 15:58:25 +0100")
René Scharfe <l.s.r@web•de> writes:
>> I am also more focused on keeping the codebase maintainable in good
>> health by making sure that we made an effort to find a solution that
>> is general-enough before solving a single specific problem you have
>> today. We may end up deciding that a blank-line heuristics gives us
>> good enough tradeoff, but I do not want us to make a decision before
>> thinking.
>
> How about extending the context upward only up to and excluding a line
> that is either empty *or* a function line? That would limit the extra
> context to a single function in the worst case.
>
> Reducing context at the bottom with the aim to remove comments for the
> next section is more tricky as it could remove part of the function
> that we'd like to show if we get the boundary wrong. How bad would it
> be to keep the southern border unchanged?
I personally do not think there is any robust heuristic other than
Vegard's "a blank line may be a signal enough that lines before that
are not part of the beginning of the function", and I think your
"hence we look for a blank line but if there is a line that matches
the function header, stop there as we know we came too far back"
will be a good-enough safety measure.
I also agree with you that we probably do not want to futz with the
southern border.
Thanks.
next prev parent reply other threads:[~2017-01-15 2:39 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-13 16:15 [PATCH 1/3] xdiff: -W: relax end-of-file function detection Vegard Nossum
2017-01-13 16:15 ` [PATCH 2/3] xdiff: -W: include immediately preceding non-empty lines in context Vegard Nossum
2017-01-13 18:19 ` René Scharfe
2017-01-13 18:44 ` Stefan Beller
2017-01-13 19:51 ` Junio C Hamano
2017-01-13 20:20 ` Vegard Nossum
2017-01-13 23:56 ` Junio C Hamano
2017-01-14 14:58 ` René Scharfe
2017-01-15 2:39 ` Junio C Hamano [this message]
2017-01-15 10:06 ` Vegard Nossum
2017-01-15 16:57 ` René Scharfe
2017-01-15 23:28 ` Junio C Hamano
2017-01-15 16:57 ` René Scharfe
2017-01-13 16:15 ` [PATCH 3/3] t/t4051-diff-function-context: improve tests for new diff -W behaviour Vegard Nossum
2017-01-13 17:49 ` [PATCH 1/3] xdiff: -W: relax end-of-file function detection René Scharfe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqy3ydcaia.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=l.s.r@web$(echo .)de \
--cc=vegard.nossum@oracle$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox