Merge branch 'jc/merge-bases' into next
commitab0974d626d7c7033938f83e9a1dbeb9b88b1f8e
authorJunio C Hamano <gitster@pobox.com>
Fri, 7 Sep 2012 18:30:52 +0000 (7 11:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 7 Sep 2012 18:30:53 +0000 (7 11:30 -0700)
treebb8f7ed55ffb48794e91865beccb54cb8a067798
parentbbcece1f8649c53018e30ceddaa7777aa8a61676
parentf37d3c755209234acfc2ca280027ebdab8e9ea8a
Merge branch 'jc/merge-bases' into next

Optimise the "merge-base" computation a bit, and also update its
users that do not need the full merge-base information to call a
cheaper subset.

* jc/merge-bases:
  reduce_heads(): reimplement on top of remove_redundant()
  merge-base: "--is-ancestor A B"
  get_merge_bases_many(): walk from many tips in parallel
  in_merge_bases(): use paint_down_to_common()
  merge_bases_many(): split out the logic to paint history
  in_merge_bases(): omit unnecessary redundant common ancestor reduction
  http-push: use in_merge_bases() for fast-forward check
  receive-pack: use in_merge_bases() for fast-forward check
  in_merge_bases(): support only one "other" commit

Conflicts:
builtin/merge-base.c
builtin/branch.c
builtin/fetch.c
builtin/merge-base.c
builtin/receive-pack.c
commit.c
commit.h
contrib/examples/builtin-fetch--tool.c
fast-import.c
http-push.c
submodule.c