<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/diff.c, branch v2.20.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.20.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.20.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2018-11-19T07:24:41Z</updated>
<entry>
<title>Merge branch 'tb/print-size-t-with-uintmax-format'</title>
<updated>2018-11-19T07:24:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-11-19T07:24:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f5f0f68d61301c3ffb2f8da84f627547e8f9a94c'/>
<id>urn:sha1:f5f0f68d61301c3ffb2f8da84f627547e8f9a94c</id>
<content type='text'>
Code preparation to replace ulong vars with size_t vars where
appropriate.

* tb/print-size-t-with-uintmax-format:
  Upcast size_t variables to uintmax_t when printing
</content>
</entry>
<entry>
<title>Merge branch 'jk/xdiff-interface'</title>
<updated>2018-11-13T13:37:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-11-13T13:37:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=39d23dfa409e51844ddda99599927092c8300f12'/>
<id>urn:sha1:39d23dfa409e51844ddda99599927092c8300f12</id>
<content type='text'>
The interface into "xdiff" library used to discover the offset and
size of a generated patch hunk by first formatting it into the
textual hunk header "@@ -n,m +k,l @@" and then parsing the numbers
out.  A new interface has been introduced to allow callers a more
direct access to them.

* jk/xdiff-interface:
  xdiff-interface: drop parse_hunk_header()
  range-diff: use a hunk callback
  diff: convert --check to use a hunk callback
  combine-diff: use an xdiff hunk callback
  diff: use hunk callback for word-diff
  diff: discard hunk headers for patch-ids earlier
  diff: avoid generating unused hunk header lines
  xdiff-interface: provide a separate consume callback for hunks
  xdiff: provide a separate emit callback for hunks
</content>
</entry>
<entry>
<title>Upcast size_t variables to uintmax_t when printing</title>
<updated>2018-11-12T07:43:52Z</updated>
<author>
<name>Torsten Bögershausen</name>
<email>tboegi@web.de</email>
</author>
<published>2018-11-11T07:05:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ca473cef9140f55d68d6758fe226ef47c216669c'/>
<id>urn:sha1:ca473cef9140f55d68d6758fe226ef47c216669c</id>
<content type='text'>
When printing variables which contain a size, today "unsigned long"
is used at many places.
In order to be able to change the type from "unsigned long" into size_t
some day in the future, we need to have a way to print 64 bit variables
on a system that has "unsigned long" defined to be 32 bit, like Win64.

Upcast all those variables into uintmax_t before they are printed.
This is to prepare for a bigger change, when "unsigned long"
will be converted into size_t for variables which may be &gt; 4Gib.

Signed-off-by: Torsten Bögershausen &lt;tboegi@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff: convert --check to use a hunk callback</title>
<updated>2018-11-05T04:14:35Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2018-11-02T06:39:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=75ab76306cb97b223b29e9460a9589cfd099213e'/>
<id>urn:sha1:75ab76306cb97b223b29e9460a9589cfd099213e</id>
<content type='text'>
The "diff --check" code needs to know the line number on which each hunk
starts in order to generate its output. We get that now by parsing the
hunk header line generated by xdiff, but it's much simpler to just pass
it directly using a hunk callback.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff: use hunk callback for word-diff</title>
<updated>2018-11-05T04:14:35Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2018-11-02T06:37:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7c61e25fbf1a4a65208be1197940a383f220a1b7'/>
<id>urn:sha1:7c61e25fbf1a4a65208be1197940a383f220a1b7</id>
<content type='text'>
Our word-diff does not look at the -/+ lines generated by xdiff at all
(because they are not real lines to show the user, but just the
tokenized words split into lines). Instead we use the line numbers from
the hunk headers to index our own data structure.

As a result, our xdi_diff_outf() callback throws away all lines except
hunk headers. We can instead use a hunk callback, which has two
benefits:

  1. We don't have to re-parse the generated hunk header line, but can
     use the passed parameters directly.

  2. By setting our line callback to NULL, we can tell xdiff-interface
     that it does not even need to bother generating the other lines,
     saving a small amount of work.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff: discard hunk headers for patch-ids earlier</title>
<updated>2018-11-05T04:14:35Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2018-11-02T06:36:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b135739125e9dc49fafc42d4a8a1956c46329ff1'/>
<id>urn:sha1:b135739125e9dc49fafc42d4a8a1956c46329ff1</id>
<content type='text'>
We do not include hunk header lines when computing patch-ids, since
the line numbers would create false negatives. Rather than detect and
skip them in our line callback, we can simply tell xdiff to avoid
generating them.

This is similar to the previous commit, but split out because it
actually requires modifying the matching line callback.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff: avoid generating unused hunk header lines</title>
<updated>2018-11-05T04:14:35Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2018-11-02T06:36:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3b40a090fd4e441e88897dfa96f50039952ed45b'/>
<id>urn:sha1:3b40a090fd4e441e88897dfa96f50039952ed45b</id>
<content type='text'>
Some callers of xdi_diff_outf() do not look at the generated hunk header
lines at all. By plugging in a no-op hunk callback, this tells xdiff not
to even bother formatting them.

This patch introduces a stock no-op callback and uses it with a few
callers whose line callbacks explicitly ignore hunk headers (because
they look only for +/- lines).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>xdiff-interface: provide a separate consume callback for hunks</title>
<updated>2018-11-02T11:43:02Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2018-11-02T06:35:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9346d6d14dddc7989ba879839d58f6c2426cffbb'/>
<id>urn:sha1:9346d6d14dddc7989ba879839d58f6c2426cffbb</id>
<content type='text'>
The previous commit taught xdiff to optionally provide the hunk header
data to a specialized callback. But most users of xdiff actually use our
more convenient xdi_diff_outf() helper, which ensures that our callbacks
are always fed whole lines.

Let's plumb the special hunk-callback through this interface, too. It
will follow the same rule as xdiff when the hunk callback is NULL (i.e.,
continue to pass a stringified hunk header to the line callback). Since
we add NULL to each caller, there should be no behavior change yet.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/diff-notice-has-drive-prefix'</title>
<updated>2018-10-30T06:43:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-10-30T06:43:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=99499e222e8fc5b94db1fab386bd283059eb6771'/>
<id>urn:sha1:99499e222e8fc5b94db1fab386bd283059eb6771</id>
<content type='text'>
Under certain circumstances, "git diff D:/a/b/c D:/a/b/d" on
Windows would strip initial parts from the paths because they
were not recognized as absolute, which has been corrected.

* js/diff-notice-has-drive-prefix:
  diff: don't attempt to strip prefix from absolute Windows paths
</content>
</entry>
<entry>
<title>Merge branch 'sb/diff-emit-line-ws-markup-cleanup'</title>
<updated>2018-10-26T05:22:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-10-26T05:22:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d1f96fd84d362a31dd8a26ae18c10539e07cd600'/>
<id>urn:sha1:d1f96fd84d362a31dd8a26ae18c10539e07cd600</id>
<content type='text'>
Code clean-up.

* sb/diff-emit-line-ws-markup-cleanup:
  diff.c: pass sign_index to emit_line_ws_markup
</content>
</entry>
</feed>
