git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Michal Kiedrowicz <michal.kiedrowicz@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [PATCH v3 4/8] gitweb: Extract print_sidebyside_diff_lines()
Date: Fri, 6 Apr 2012 00:57:33 +0200	[thread overview]
Message-ID: <201204060057.34138.jnareb@gmail.com> (raw)
In-Reply-To: <20120405080633.3836f49b@mkiedrowicz.ivo.pl>

Michal Kiedrowicz wrote:
> Jakub Narebski <jnareb@gmail.com> wrote:
>> Junio C Hamano wrote:
>>> Michał Kiedrowicz <michal.kiedrowicz@gmail.com> writes:

>>>> -		# empty add/rem block on start context block, or
>>>> end of chunk
>>>> -		if ((@rem || @add) && (!$class || $class eq
>>>> 'ctx')) { -...
>>>> +		## print from accumulator when have some add/rem
>>>> lines or end
>>>> +		# of chunk (flush context lines)
>>>> +		if (((@rem || @add) && $class eq 'ctx')
>>>> || !$class) {
>>> 
>>> This seems to change the condition.  Earlier, it held true if
>>> (there is anything to show), and (class is unset or equal to ctx).
>>> The new code says something different.
>> 
>> Yes it does, as described in the commit message:
>> 
>>                                                     [...] It should
>>   not change the gitweb output, but it **slightly changes its
>> behavior**. Before this commit, context is printed on the class
>> change. Now,  it's printed just before printing added and removed
>> lines, and at the end of chunk.
>> 
>> The difference is that context lines are also printed accumulated now.
>> Though why this change is required for refactoring could have been
>> described in more detail...
> 
> I changed that because I wanted to squash both conditions (the one that
> checks if @ctx should be printed and the one that prints @add/@rem
> lines) and have just one call to print_sidebyside_diff_lines().  Later,
> this function is changed to print_diff_lines() and controls whether
> 'inline' or 'side-by-side' diff should be printed.  Having two
> conditions and two calls/functions would make the code redundant.  Then
> I thought that instead of calling twice print_sidebyside_diff_lines()
> (for @ctx and @add/@rem lines, like the code from pre-image prints
> these lines separatedly), I can just call it once.
> 
> I can revert this change to previous behavior but I think that would
> make the condition more complicated.

No, I think that this change is good idea if it simplifies code flow.
But it really should be described in commit message, not only "what"
(which you did describe), but also "whys".

-- 
Jakub Narebski
Poland

  reply	other threads:[~2012-04-05 22:57 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-04 19:57 [PATCH v3 0/8] Highlight interesting parts of diff Michał Kiedrowicz
2012-04-04 19:57 ` [PATCH v3 1/8] gitweb: Use descriptive names in esc_html_hl_regions() Michał Kiedrowicz
2012-04-04 21:38   ` Junio C Hamano
2012-04-05  5:46     ` Michal Kiedrowicz
2012-04-04 19:57 ` [PATCH v3 2/8] gitweb: esc_html_hl_regions(): Don't create empty <span> elements Michał Kiedrowicz
2012-04-04 19:57 ` [PATCH v3 3/8] gitweb: Pass esc_html_hl_regions() options to esc_html() Michał Kiedrowicz
2012-04-04 19:57 ` [PATCH v3 4/8] gitweb: Extract print_sidebyside_diff_lines() Michał Kiedrowicz
2012-04-04 21:47   ` Junio C Hamano
2012-04-04 22:47     ` Jakub Narebski
2012-04-05  6:06       ` Michal Kiedrowicz
2012-04-05 22:57         ` Jakub Narebski [this message]
2012-04-06  8:36           ` Michal Kiedrowicz
2012-04-04 19:57 ` [PATCH v3 5/8] gitweb: Use print_diff_chunk() for both side-by-side and inline diffs Michał Kiedrowicz
2012-04-05 23:26   ` Jakub Narebski
2012-04-06  8:34     ` Michal Kiedrowicz
2012-04-04 19:57 ` [PATCH v3 6/8] gitweb: Push formatting diff lines to print_diff_chunk() Michał Kiedrowicz
2012-04-04 19:57 ` [PATCH v3 7/8] gitweb: Highlight interesting parts of diff Michał Kiedrowicz
2012-04-05  6:25   ` Michal Kiedrowicz
2012-04-04 19:57 ` [PATCH v3 8/8] gitweb: Refinement highlightning in combined diffs Michał Kiedrowicz

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=201204060057.34138.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=michal.kiedrowicz@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).