Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH v3] diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:54:09

Jeff King [off-list ref] writes:
I thought this bug would be enough to show that diffopt.found_changes is
not clear enough. It is the source of the original bug (the code should
have been using HAS_CHANGES instead of found_changes), and it gave at
least one of the bug investigators (i.e., me) quite a bit of confusion
to understand why found_changes was not being set when diff_flush found
changes.
I think when found_changes was introduced so that diff can indicate
more than what HAS_CHANGES (i.e. there is a blob-level difference
exists) can represent, the patch forgot to update the no-index
codepath.
IOW, as a naive reader of the "struct diff_options", how do I understand
the difference between HAS_CHANGES and found_changes?
HAS_CHANGES and found_changes should be implementation detail of
diff_result_code() and as long as we do not add outside users of it,
the names should not matter too much.  If we were to rename them,
HAS_CHANGES should also be made more descriptive to hint what it
means ("object level difference exists"), I would think.  Given the
recent discussion on "diff/log -L <bottom>,<top>", found_changes
would mean "content level change that the caller cares about
exists".
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help