From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: "Michael Haggerty" <mhagger@alum.mit.edu>,
git@vger.kernel.org, "Stefan Beller" <sbeller@google.com>,
"Jakub Narębski" <jnareb@gmail.com>,
"Jacob Keller" <jacob.keller@gmail.com>
Subject: Re: [PATCH 8/8] diff: improve positioning of add/delete blocks in diffs
Date: Sat, 13 Aug 2016 08:59:25 -0700 [thread overview]
Message-ID: <xmqqoa4wu0bm.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20160813085904.lykoihh4v2lf4yuj@sigill.intra.peff.net> (Jeff King's message of "Sat, 13 Aug 2016 04:59:05 -0400")
Jeff King <peff@peff.net> writes:
> So assuming everything I just said isn't complete bollocks, I think we
> can move to a future where nobody uses the compaction heuristic. And
> there are three ways to deal with that:
>
> 1. The knob and feature stay. It might be useful for somebody who
> wants to experiment in the future.
>
> 2. The knob and feature go away completely. It was an experiment, but
> now we have something more useful.
>
> 3. The feature goes away, but the knob stays as noop, or maybe as an
> alias for the indent heuristic, just because we did ship a version
> that accepts "--compaction-heuristic", and maybe somebody somewhere
> put it in a script?
>
> I think I'd be in favor of (2).
I am all for (2) [*1*]
This and the previous "take a blank line as a hint" are both
heuristics. As long as the resulting code does not tax runtime
performance visibly and improves the resulting output 99% of the
time, there is no reason to leave end-users a knob. "Among 9 hunks
in this patch that touch hello.c, 7 are made much more readable but
2 are worse" cannot even be helped with a command line option.
[Footnote]
*1* I am also strongly against (3), if only to teach people a
lesson ;-).
next prev parent reply other threads:[~2016-08-13 15:59 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-03 22:00 [PATCH 0/8] Better heuristics make prettier diffs Michael Haggerty
2016-08-03 22:00 ` [PATCH 1/8] xdl_change_compact(): rename some local variables for clarity Michael Haggerty
2016-08-04 7:06 ` Jeff King
2016-08-04 18:24 ` Junio C Hamano
2016-08-13 19:38 ` Michael Haggerty
2016-08-14 12:26 ` Jeff King
2016-08-03 22:00 ` [PATCH 2/8] xdl_change_compact(): clarify code Michael Haggerty
2016-08-03 22:11 ` Stefan Beller
2016-08-03 23:14 ` Michael Haggerty
2016-08-03 23:50 ` Stefan Beller
2016-08-04 7:13 ` Jeff King
2016-08-10 16:39 ` Michael Haggerty
2016-08-10 16:58 ` Stefan Beller
2016-08-03 22:00 ` [PATCH 3/8] xdl_change_compact(): rename i to end Michael Haggerty
2016-08-04 7:16 ` Jeff King
2016-08-03 22:00 ` [PATCH 4/8] xdl_change_compact(): do one final shift or the other, not both Michael Haggerty
2016-08-03 22:00 ` [PATCH 5/8] xdl_change_compact(): fix compaction heuristic to adjust io Michael Haggerty
2016-08-04 7:27 ` Jeff King
2016-08-10 16:58 ` Michael Haggerty
2016-08-10 17:09 ` Michael Haggerty
2016-08-11 4:16 ` Jeff King
2016-08-04 18:43 ` Junio C Hamano
2016-08-10 17:13 ` Michael Haggerty
2016-08-03 22:00 ` [PATCH 6/8] xdl_change_compact(): keep track of the earliest end Michael Haggerty
2016-08-04 18:46 ` Junio C Hamano
2016-08-10 17:16 ` Michael Haggerty
2016-08-03 22:00 ` [PATCH 7/8] is_blank_line: take a single xrecord_t as argument Michael Haggerty
2016-08-04 18:48 ` Junio C Hamano
2016-08-03 22:00 ` [PATCH 8/8] diff: improve positioning of add/delete blocks in diffs Michael Haggerty
2016-08-03 22:29 ` Jacob Keller
2016-08-03 22:36 ` Michael Haggerty
2016-08-04 4:47 ` Jacob Keller
2016-08-04 19:39 ` Junio C Hamano
2016-08-10 19:01 ` Michael Haggerty
2016-08-10 21:28 ` Junio C Hamano
2016-08-03 22:30 ` Stefan Beller
2016-08-03 22:41 ` Michael Haggerty
2016-08-03 22:51 ` Stefan Beller
2016-08-03 23:30 ` Michael Haggerty
2016-08-04 0:04 ` Stefan Beller
2016-08-10 19:12 ` Michael Haggerty
2016-08-04 7:56 ` Jeff King
2016-08-04 16:55 ` Stefan Beller
2016-08-04 19:47 ` Junio C Hamano
2016-08-13 0:09 ` Michael Haggerty
2016-08-12 23:25 ` Michael Haggerty
2016-08-13 8:59 ` Jeff King
2016-08-13 15:59 ` Junio C Hamano [this message]
2016-08-14 7:21 ` Jacob Keller
2016-08-15 6:33 ` Stefan Beller
2016-08-15 20:24 ` Junio C Hamano
2016-08-04 19:52 ` Junio C Hamano
2016-08-13 0:11 ` Michael Haggerty
2016-08-03 22:08 ` [PATCH 0/8] Better heuristics make prettier diffs Michael Haggerty
2016-08-04 7:38 ` Jeff King
2016-08-04 19:54 ` Junio C Hamano
2016-08-04 20:01 ` Jeff King
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=xmqqoa4wu0bm.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=jacob.keller@gmail.com \
--cc=jnareb@gmail.com \
--cc=mhagger@alum.mit.edu \
--cc=peff@peff.net \
--cc=sbeller@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.