Merge branch 'kw/patch-ids-optim'
commitdd610aeda684e42d3933a719cbd59ffbcdfdbcaa
authorJunio C Hamano <gitster@pobox.com>
Fri, 12 Aug 2016 16:47:39 +0000 (12 09:47 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 12 Aug 2016 16:47:39 +0000 (12 09:47 -0700)
tree3001212a96785e66a7d82e18116badd5007bc0ef
parent3787e3c16ced0e3a614766dfbb55f8cbd70762c1
parentb3dfeebb92630c54db1e4f03dbcff0e05208c4c1
Merge branch 'kw/patch-ids-optim'

When "git rebase" tries to compare set of changes on the updated
upstream and our own branch, it computes patch-id for all of these
changes and attempts to find matches. This has been optimized by
lazily computing the full patch-id (which is expensive) to be
compared only for changes that touch the same set of paths.

* kw/patch-ids-optim:
  rebase: avoid computing unnecessary patch IDs
  patch-ids: add flag to create the diff patch id using header only data
  patch-ids: replace the seen indicator with a commit pointer
  patch-ids: stop using a hand-rolled hashmap implementation
builtin/log.c
diff.c
revision.c