Skip to content

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

Taylor Blau git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 11 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7t/helper/test-read-graph.c: support commit-graph chainst/helper/test-read-graph.c+1 -120 replies
2/7builtin/commit-graph.c: support for '--split[=<strategy>]'Documentation/git-commit-graph.txt builtin/commit-graph.c commit-graph.h+33 -90 replies
3/7builtin/commit-graph.c: introduce split strategy 'no-merge'Documentation/git-commit-graph.txt builtin/commit-graph.c commit-graph.c +2 more+36 -90 replies
4/7builtin/commit-graph.c: introduce split strategy 'replace'Documentation/git-commit-graph.txt builtin/commit-graph.c commit-graph.c +2 more+66 -180 replies
5/7oidset: introduce 'oidset_size'oidset.c oidset.h+10 -00 replies
6/7commit-graph.h: replace 'commit_hex' with 'commits'builtin/commit-graph.c commit-graph.c commit-graph.h +1 more+52 -310 replies
7/7commit-graph.c: introduce '--[no-]check-oids'Documentation/git-commit-graph.txt builtin/commit-graph.c t/t5318-commit-graph.sh+41 -311 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

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/[email protected]/
[2]: https://lore.kernel.org/git/[email protected]/

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