commit-graph: build graph from starting commits
commit3d5df01b5e42416a59e857135e932bbdd8cc3ba0
authorDerrick Stolee <dstolee@microsoft.com>
Tue, 10 Apr 2018 12:56:07 +0000 (10 08:56 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 11 Apr 2018 01:43:02 +0000 (11 10:43 +0900)
tree39368eb806a613e4d98876c5d5d3b2b4eef5683e
parent049d51a2bb9a03d2f2c2cce1ae41e57dbbf42244
commit-graph: build graph from starting commits

Teach git-commit-graph to read commits from stdin when the
--stdin-commits flag is specified. Commits reachable from these
commits are added to the graph. This is a much faster way to construct
the graph than inspecting all packed objects, but is restricted to
known tips.

For the Linux repository, 700,000+ commits were added to the graph
file starting from 'master' in 7-9 seconds, depending on the number
of packfiles in the repo (1, 24, or 120).

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-commit-graph.txt
builtin/commit-graph.c
commit-graph.c
commit-graph.h
t/t5318-commit-graph.sh