Subject: Re: standalone library/tool to query commit-graph?

From: Jakub Narebski <[email-masked]>
Date: Tue, 25 Jun 2019 20:27:32 +0200

Ævar Arnfjörð Bjarmason <[email-masked]> writes:
[...]

> To clarify (and I should have said) I meant it'll include only packed
> commits in the mode Karl Ostmo invoked it in, as Derrick points out.
>
> But yeah, you can of course give it arbitrary starting points, but
> needing to deal with those sorts of caveats makes it rather useless in
> practice for the sort of use-case Jakub mused about, but more
> importantly a full XML dump of the graph isn't going to get much of a
> benefit from the commit graph, it helps with algorithms that want to
> avoid those sorts of full walks.

Actually for an "XML dump" of a graph of revisions (assuming that you
can give nodes and edges in arbitrary order in this graph output format)
doing it using serialized commit-graph should be faster: you only need
to read one file, and convert it to other format (perhaps even in a
streaming manner).  No need to delta-unpack, decompress and parse commit
objects.

Though on the other hand you are right: if "git log --graph" uses
serialized commit graph, and it is used for XML / JSON dump, it should
also be fast.  If there is no serialized commit graph, you still can
generate XML dump.

Best,
--
Jakub Narębski