<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin, branch v2.7.4</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.7.4</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.7.4'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-03-16T17:42:32Z</updated>
<entry>
<title>Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7</title>
<updated>2016-03-16T17:42:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-16T17:42:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=55c45a732582ca74d9f8a73c8f176d3dadd5b819'/>
<id>urn:sha1:55c45a732582ca74d9f8a73c8f176d3dadd5b819</id>
<content type='text'>
* jk/path-name-safety-2.6:
  list-objects: pass full pathname to callbacks
  list-objects: drop name_path entirely
  list-objects: convert name_path to a strbuf
  show_object_with_name: simplify by using path_name()
  http-push: stop using name_path
  tree-diff: catch integer overflow in combine_diff_path allocation
  add helpers for detecting size_t overflow
</content>
</entry>
<entry>
<title>Merge branch 'jk/path-name-safety-2.5' into jk/path-name-safety-2.6</title>
<updated>2016-03-16T17:42:02Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-16T17:42:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=717e3551b9fbfdb72e40a81fc0fb714cdaadb37f'/>
<id>urn:sha1:717e3551b9fbfdb72e40a81fc0fb714cdaadb37f</id>
<content type='text'>
* jk/path-name-safety-2.5:
  list-objects: pass full pathname to callbacks
  list-objects: drop name_path entirely
  list-objects: convert name_path to a strbuf
  show_object_with_name: simplify by using path_name()
  http-push: stop using name_path
  tree-diff: catch integer overflow in combine_diff_path allocation
  add helpers for detecting size_t overflow
</content>
</entry>
<entry>
<title>Merge branch 'jk/path-name-safety-2.4' into jk/path-name-safety-2.5</title>
<updated>2016-03-16T17:41:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-16T17:41:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=253ce7a15c251057464b130016c74cbe10fe9e57'/>
<id>urn:sha1:253ce7a15c251057464b130016c74cbe10fe9e57</id>
<content type='text'>
* jk/path-name-safety-2.4:
  list-objects: pass full pathname to callbacks
  list-objects: drop name_path entirely
  list-objects: convert name_path to a strbuf
  show_object_with_name: simplify by using path_name()
  http-push: stop using name_path
  tree-diff: catch integer overflow in combine_diff_path allocation
  add helpers for detecting size_t overflow
</content>
</entry>
<entry>
<title>list-objects: pass full pathname to callbacks</title>
<updated>2016-03-16T17:41:04Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-02-11T22:28:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2824e1841b99393d2469c495253d547c643bd8f1'/>
<id>urn:sha1:2824e1841b99393d2469c495253d547c643bd8f1</id>
<content type='text'>
When we find a blob at "a/b/c", we currently pass this to
our show_object_fn callbacks as two components: "a/b/" and
"c". Callbacks which want the full value then call
path_name(), which concatenates the two. But this is an
inefficient interface; the path is a strbuf, and we could
simply append "c" to it temporarily, then roll back the
length, without creating a new copy.

So we could improve this by teaching the callsites of
path_name() this trick (and there are only 3). But we can
also notice that no callback actually cares about the
broken-down representation, and simply pass each callback
the full path "a/b/c" as a string. The callback code becomes
even simpler, then, as we do not have to worry about freeing
an allocated buffer, nor rolling back our modification to
the strbuf.

This is theoretically less efficient, as some callbacks
would not bother to format the final path component. But in
practice this is not measurable. Since we use the same
strbuf over and over, our work to grow it is amortized, and
we really only pay to memcpy a few bytes.

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>list-objects: drop name_path entirely</title>
<updated>2016-03-16T17:41:03Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-02-11T22:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dc06dc880013d48f2b09c6b4295419382f3b8230'/>
<id>urn:sha1:dc06dc880013d48f2b09c6b4295419382f3b8230</id>
<content type='text'>
In the previous commit, we left name_path as a thin wrapper
around a strbuf. This patch drops it entirely. As a result,
every show_object_fn callback needs to be adjusted. However,
none of their code needs to be changed at all, because the
only use was to pass it to path_name(), which now handles
the bare strbuf.

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 'jk/pack-idx-corruption-safety' into maint</title>
<updated>2016-03-10T19:13:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-10T19:13:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=80047fa084f994969d42338bc3fbbb89e7d957d6'/>
<id>urn:sha1:80047fa084f994969d42338bc3fbbb89e7d957d6</id>
<content type='text'>
The code to read the pack data using the offsets stored in the pack
idx file has been made more carefully check the validity of the
data in the idx.

* jk/pack-idx-corruption-safety:
  sha1_file.c: mark strings for translation
  use_pack: handle signed off_t overflow
  nth_packed_object_offset: bounds-check extended offset
  t5313: test bounds-checks of corrupted/malicious pack/idx files
</content>
</entry>
<entry>
<title>Merge branch 'js/config-set-in-non-repository' into maint</title>
<updated>2016-03-10T19:13:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-10T19:13:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0e58b47d153a90d80518ef35c53ffb244ed4ecd6'/>
<id>urn:sha1:0e58b47d153a90d80518ef35c53ffb244ed4ecd6</id>
<content type='text'>
"git config section.var value" to set a value in per-repository
configuration file failed when it was run outside any repository,
but didn't say the reason correctly.

* js/config-set-in-non-repository:
  git config: report when trying to modify a non-existing repo config
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-module-list-fix' into maint</title>
<updated>2016-03-10T19:13:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-10T19:13:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1191d606bb2b544e3d8429d07f8ff43aae7d8145'/>
<id>urn:sha1:1191d606bb2b544e3d8429d07f8ff43aae7d8145</id>
<content type='text'>
A helper function "git submodule" uses since v2.7.0 to list the
modules that match the pathspec argument given to its subcommands
(e.g. "submodule add &lt;repo&gt; &lt;path&gt;") has been fixed.

* sb/submodule-module-list-fix:
  submodule helper list: respect correct path prefix
</content>
</entry>
<entry>
<title>Merge branch 'jk/tighten-alloc' into maint</title>
<updated>2016-03-10T19:13:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-10T19:13:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b7a6ec609ff10652541e7f716fcecf7865b94b23'/>
<id>urn:sha1:b7a6ec609ff10652541e7f716fcecf7865b94b23</id>
<content type='text'>
* jk/tighten-alloc: (23 commits)
  compat/mingw: brown paper bag fix for 50a6c8e
  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
  ...
</content>
</entry>
<entry>
<title>Merge branch 'jc/am-i-v-fix' into maint</title>
<updated>2016-03-10T19:13:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-10T19:13:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=28eec80b602559403cca96531dce2930ac362095'/>
<id>urn:sha1:28eec80b602559403cca96531dce2930ac362095</id>
<content type='text'>
The "v(iew)" subcommand of the interactive "git am -i" command was
broken in 2.6.0 timeframe when the command was rewritten in C.

* jc/am-i-v-fix:
  am -i: fix "v"iew
  pager: factor out a helper to prepare a child process to run the pager
  pager: lose a separate argv[]
</content>
</entry>
</feed>
