Thread (1 message) 1 message, 1 author, 2020-12-10

Re: [PATCH 00/26] git-log: implement new --diff-merge options

From: Sergey Organov <hidden>
Date: 2020-12-10 20:11:49

Elijah Newren [off-list ref] writes:


[...]
As such, I suspect rev->diffopt.flags.exit_with_status will be 0 most
of the time and that the relevant check at the top of log_tree_diff()
really is the "if (!opt->diff)" part of it.
Right, but *why* is it needed? If I do set opt->diff to 1 but don't set
opt->diffopt.output_format I get no diff, so the question essentially
is: which caller of log_tree_diff() would need to set
opt->diffopt.output_format but leave opt->diff to be 0, and why?

Even if such caller exists, it will get no diff, so it seems to be
entirely pointless.
quoted
Is rev->diff an optimization, does it play another significant role, or
is it a remnant?
I still don't see what's the correct answer to this question, sorry.

Well, I did a crush-test: commented-out entire if() at the beginning of
the log_tree_diff() and ran all the tests. The result was entirely
surprising: all the tests pass except one:

Test Summary Report
-------------------
./t1410-reflog.sh                                  (Wstat: 256 Tests: 22 Failed: 1)
  Failed test:  4
  Non-zero exit status: 1
Files=912, Tests=23039, 278 wallclock secs (10.48 usr  2.12 sys + 1034.98 cusr 650.30 csys = 1697.88 CPU)
Result: FAIL

And now I wonder how comes none of specific test are able to notice the
difference, yet seemingly unrelated test fails?

Thanks,
-- Sergey
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help