mbox series

[0/7] commit-graph: split strategies, '--[no-]check-oids'

Message ID cover.1586836700.git.me@ttaylorr.com (mailing list archive)
Headers show
Series commit-graph: split strategies, '--[no-]check-oids' | expand

Message

Taylor Blau April 14, 2020, 4:03 a.m. UTC
Hi,

This is a reworked version of a couple of series [1, 2] that add various
options to the 'git commit-graph write' builtin. I had developed [1, 2]
while deploying incremental commit-graphs at GitHub, and so there was a
lot in flux about what options we needed and so on.

Now that the dust has settled, I cleaned up all of the patches generated
during that time into a grab-bag series that reflects what we ended up
sticking with.

Namely, I got rid of the '--input=<source>' options ('--input=none' was
confusing at best, and we ended up not needing it), as well as
'--split=merge-all'. We used to use this to roll up all of the
incremental graphs generated during pushes into one big length-1 chain
every N pushes. But, we ended up abandoning this, too, in favor of
'--split=replace', which is described in the fourth patch. I'm not sure
if anyone will be sad to see '--split=merge-all' go, so if you are,
please let me know and I'll drag that patch back in.

Thanks for all of the review that I've received so far, and thanks in
advance for your review on these patches.

[1]: https://lore.kernel.org/git/cover.1580430057.git.me@ttaylorr.com/
[2]: https://lore.kernel.org/git/cover.1584762087.git.me@ttaylorr.com/

Taylor Blau (7):
  t/helper/test-read-graph.c: support commit-graph chains
  builtin/commit-graph.c: support for '--split[=<strategy>]'
  builtin/commit-graph.c: introduce split strategy 'no-merge'
  builtin/commit-graph.c: introduce split strategy 'replace'
  oidset: introduce 'oidset_size'
  commit-graph.h: replace 'commit_hex' with 'commits'
  commit-graph.c: introduce '--[no-]check-oids'

 Documentation/git-commit-graph.txt |  22 +++--
 builtin/commit-graph.c             |  59 +++++++++++--
 commit-graph.c                     | 129 +++++++++++++++++++----------
 commit-graph.h                     |  10 ++-
 oidset.c                           |   5 ++
 oidset.h                           |   5 ++
 t/helper/test-read-graph.c         |  13 +--
 t/t5318-commit-graph.sh            |  30 ++++++-
 t/t5324-split-commit-graph.sh      |  30 +++++++
 9 files changed, 230 insertions(+), 73 deletions(-)

--
2.26.0.106.g9fadedd637