Merge branch 'jk/commit-buffer-length'
authorJunio C Hamano <gitster@pobox.com>
Wed, 2 Jul 2014 19:53:02 +0000 (12:53 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Jul 2014 19:53:02 +0000 (12:53 -0700)
commit8061ae8b4618d69a67ff6cfb687d7044964d4b04
treefd75c5ef40caf10107f15e320bbb9501017ba695
parent95acfc2479967ba5f3e2ddfee1fa2eb89b386c4f
parent218aa3a6162b80696a82b8745daa38fa826985ae
Merge branch 'jk/commit-buffer-length'

Move "commit->buffer" out of the in-core commit object and keep
track of their lengths.  Use this to optimize the code paths to
validate GPG signatures in commit objects.

* 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
14 files changed:
builtin/blame.c
builtin/commit.c
builtin/fast-export.c
builtin/index-pack.c
builtin/log.c
builtin/merge.c
builtin/reset.c
commit.c
merge-recursive.c
notes-cache.c
notes-utils.c
pretty.c
revision.c
sequencer.c