Merge branch 'jk/commit-buffer-length' into maint
commit5c18fde0d96cfcbc321caad8f809028b0c63aaeb
authorJunio C Hamano <gitster@pobox.com>
Wed, 16 Jul 2014 18:16:38 +0000 (16 11:16 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Jul 2014 18:16:38 +0000 (16 11:16 -0700)
tree0fbc3fd1a5ca630e2eeb6a0aa4484f848455bf5e
parent64630d807ae0a9717ae39c87bd1458bf15c62142
parent218aa3a6162b80696a82b8745daa38fa826985ae
Merge branch 'jk/commit-buffer-length' into maint

A handful of code paths had to read the commit object more than
once when showing header fields that are usually not parsed.  The
internal data structure to keep track of the contents of the commit
object has been updated to reduce the need for this double-reading,
and to allow the caller find the length of the object.

* jk/commit-buffer-length:
  reuse cached commit buffer when parsing signatures
  commit: record buffer length in cache
  commit: convert commit->buffer to a slab
  commit-slab: provide a static initializer
  use get_commit_buffer everywhere
  convert logmsg_reencode to get_commit_buffer
  use get_commit_buffer to avoid duplicate code
  use get_cached_commit_buffer where appropriate
  provide helpers to access the commit buffer
  provide a helper to set the commit buffer
  provide a helper to free commit buffer
  sequencer: use logmsg_reencode in get_message
  logmsg_reencode: return const buffer
  do not create "struct commit" with xcalloc
  commit: push commit_index update into alloc_commit_node
  alloc: include any-object allocations in alloc_report
  replace dangerous uses of strbuf_attach
  commit_tree: take a pointer/len pair rather than a const strbuf
builtin/blame.c
builtin/commit.c
builtin/index-pack.c
builtin/log.c
merge-recursive.c
pretty.c
revision.c