<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/diff.c, branch v2.8.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.8.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.8.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-02-26T21:37:16Z</updated>
<entry>
<title>Merge branch 'jk/tighten-alloc'</title>
<updated>2016-02-26T21:37:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-26T21:37:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=11529ecec914d2f0d7575e6d443c2d5a6ff75424'/>
<id>urn:sha1:11529ecec914d2f0d7575e6d443c2d5a6ff75424</id>
<content type='text'>
Update various codepaths to avoid manually-counted malloc().

* jk/tighten-alloc: (22 commits)
  ewah: convert to REALLOC_ARRAY, etc
  convert ewah/bitmap code to use xmalloc
  diff_populate_gitlink: use a strbuf
  transport_anonymize_url: use xstrfmt
  git-compat-util: drop mempcpy compat code
  sequencer: simplify memory allocation of get_message
  test-path-utils: fix normalize_path_copy output buffer size
  fetch-pack: simplify add_sought_entry
  fast-import: simplify allocation in start_packfile
  write_untracked_extension: use FLEX_ALLOC helper
  prepare_{git,shell}_cmd: use argv_array
  use st_add and st_mult for allocation size computation
  convert trivial cases to FLEX_ARRAY macros
  use xmallocz to avoid size arithmetic
  convert trivial cases to ALLOC_ARRAY
  convert manual allocations to argv_array
  argv-array: add detach function
  add helpers for allocating flex-array structs
  harden REALLOC_ARRAY and xcalloc against size_t overflow
  tree-diff: catch integer overflow in combine_diff_path allocation
  ...
</content>
</entry>
<entry>
<title>Merge branch 'jk/more-comments-on-textconv'</title>
<updated>2016-02-26T21:37:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-26T21:37:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3ed26a44b3415f5761bdab21f823d964c20a2824'/>
<id>urn:sha1:3ed26a44b3415f5761bdab21f823d964c20a2824</id>
<content type='text'>
The memory ownership rule of fill_textconv() API, which was a bit
tricky, has been documented a bit better.

* jk/more-comments-on-textconv:
  diff: clarify textconv interface
</content>
</entry>
<entry>
<title>diff_populate_gitlink: use a strbuf</title>
<updated>2016-02-22T22:51:09Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-02-22T22:45:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b1ddfb9151ca817c30825d1250d565b32c5fc0f5'/>
<id>urn:sha1:b1ddfb9151ca817c30825d1250d565b32c5fc0f5</id>
<content type='text'>
We allocate 100 bytes to hold the "Submodule commit ..."
text. This is enough, but it's not immediately obvious that
this is the case, and we have to repeat the magic 100 twice.

We could get away with xstrfmt here, but we want to know the
size, as well, so let's use a real strbuf. And while we're
here, we can clean up the logic around size_only. It
currently sets and clears the "data" field pointlessly, and
leaves the "should_free" flag on even after we have cleared
the data.

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>convert trivial cases to FLEX_ARRAY macros</title>
<updated>2016-02-22T22:51:09Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-02-22T22:44:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=96ffc06f72f693d80f05059a1f0e5ca9007d5f1b'/>
<id>urn:sha1:96ffc06f72f693d80f05059a1f0e5ca9007d5f1b</id>
<content type='text'>
Using FLEX_ARRAY macros reduces the amount of manual
computation size we have to do. It also ensures we don't
overflow size_t, and it makes sure we write the same number
of bytes that we allocated.

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: clarify textconv interface</title>
<updated>2016-02-22T18:40:35Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-02-22T18:28:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a64e6a44c63a965c5bc26242ddd3ed049b42e117'/>
<id>urn:sha1:a64e6a44c63a965c5bc26242ddd3ed049b42e117</id>
<content type='text'>
The memory allocation scheme for the textconv interface is a
bit tricky, and not well documented. It was originally
designed as an internal part of diff.c (matching
fill_mmfile), but gradually was made public.

Refactoring it is difficult, but we can at least improve the
situation by documenting the intended flow and enforcing it
with an in-code assertion.

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 'nd/diff-with-path-params' into maint</title>
<updated>2016-02-05T22:54:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-05T22:54:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=02dab5d399fb276f91646d7780da90596bffefab'/>
<id>urn:sha1:02dab5d399fb276f91646d7780da90596bffefab</id>
<content type='text'>
A few options of "git diff" did not work well when the command was
run from a subdirectory.

* nd/diff-with-path-params:
  diff: make -O and --output work in subdirectory
  diff-no-index: do not take a redundant prefix argument
</content>
</entry>
<entry>
<title>Merge branch 'nd/diff-with-path-params'</title>
<updated>2016-02-03T22:16:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-03T22:16:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c167a96e68b9fb49cab7eb1f2814d7b32f7c0a1a'/>
<id>urn:sha1:c167a96e68b9fb49cab7eb1f2814d7b32f7c0a1a</id>
<content type='text'>
A few options of "git diff" did not work well when the command was
run from a subdirectory.

* nd/diff-with-path-params:
  diff: make -O and --output work in subdirectory
  diff-no-index: do not take a redundant prefix argument
</content>
</entry>
<entry>
<title>diff: make -O and --output work in subdirectory</title>
<updated>2016-01-21T18:45:13Z</updated>
<author>
<name>Duy Nguyen</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-01-21T11:48:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a97262c62f1a31fcc7edf7629d313058bc7d66b5'/>
<id>urn:sha1:a97262c62f1a31fcc7edf7629d313058bc7d66b5</id>
<content type='text'>
Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'tk/sigchain-unnecessary-post-tempfile'</title>
<updated>2015-10-29T20:59:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-29T20:59:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=433cc7e3fb861d4530ca6c49b152e94219bddfda'/>
<id>urn:sha1:433cc7e3fb861d4530ca6c49b152e94219bddfda</id>
<content type='text'>
Remove no-longer used #include.

* tk/sigchain-unnecessary-post-tempfile:
  shallow: remove unused #include "sigchain.h"
  read-cache: remove unused #include "sigchain.h"
  diff: remove unused #include "sigchain.h"
  credential-cache--daemon: remove unused #include "sigchain.h"
</content>
</entry>
<entry>
<title>diff: remove unused #include "sigchain.h"</title>
<updated>2015-10-22T18:12:37Z</updated>
<author>
<name>Tobias Klauser</name>
<email>tklauser@distanz.ch</email>
</author>
<published>2015-10-22T12:43:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=086ecab1a7b7bfe8d87f5403d37cca84b41dfd72'/>
<id>urn:sha1:086ecab1a7b7bfe8d87f5403d37cca84b41dfd72</id>
<content type='text'>
After switching to use the tempfile module in commit 284098f1
(diff: use tempfile module), no declarations from sigchain.h are used in
diff.c anymore. Thus, remove the #include.

Signed-off-by: Tobias Klauser &lt;tklauser@distanz.ch&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
