git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 0/3] contrib/subtree: reduce recursion during split

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 13, 2026, 22:51 UTC
Message-ID
<xmqqldfv1gxc.fsf@gitster.g>
In-Reply-To
<20260305-cs-subtree-split-recursion-v2-0-7266be870ba9@howdoi.land>
Colin Stagner <ask+git@howdoi.land> writes:
Show 22 quoted lines
> * cs/subtree-split-recursion: when processing large history
>   graphs on Debian or Ubuntu, "git subtree" can die with a
>   "recursion depth reached" error. Reduce recursion.
>
> On Debian's POSIX sh, shell recursion is artificially limited
> to 1000 calls. You can check if your sh has limited recursion
> with:
>
>     #!/bin/sh
>     recurse() {
>         r=$(( r + 1 ))
>         test "$r" -le 1000 || { echo OK; exit; }
>         recurse
>     } && r=0 && recurse
>
> Depending on the history graph, subtree split can recurse deeply
> enough to encounter this limit. Rewrite the rejoin-deepening
> algorithm to reduce recursive calls.
>
> ---
> Changes in v2:
> - Rebase on master

We have seen two iterations of this series without anybody commenting on it. Is it a sign that the topic, or possibly "git subtree" itself, is of interest to nobody? Or is it that it is so well done that nobody had any comment on it?

I don't use "git subtree" myself, and I do not know of anybody who will scream at me if I break it by merging an unreviewed patch, so I can merge it without worrying too much about fallout personally, but that is a tad irresponsible as the maintainer ;-)

So...? Any volunteers among those who have a higher stake in the program than I do (which admittedly is not a high bar to cross)?

Thanks.
Previous: Colin StagnerNext: Junio C Hamano
Message 5 of 22 in “contrib/subtree: reduce recursion during split”
  1. 0/3 contrib/subtree: reduce recursion during splitColin Stagner, Mar 5, 2026
  2. 1/3 contrib/subtree: reduce function side-effectsColin Stagner, Mar 5, 2026
  3. 2/3 contrib/subtree: functionalize split traversalColin Stagner, Mar 5, 2026
  4. 3/3 contrib/subtree: reduce recursion during splitColin Stagner, Mar 5, 2026
  5. Junio C HamanoMar 13, 2026
  6. Junio C HamanoMar 13, 2026
  7. Junio C HamanoApr 15, 2026
  8. Ben KnobleApr 15, 2026
  9. Ian JacksonApr 16, 2026
  10. Junio C HamanoApr 16, 2026
  11. Colin StagnerApr 17, 2026
  12. Ian JacksonApr 19, 2026
  13. Ben KnobleApr 20, 2026
  14. Junio C HamanoApr 20, 2026
  15. Ian JacksonApr 20, 2026
  16. Colin StagnerApr 21, 2026
  17. Johannes SchindelinApr 22, 2026
  18. git-subtree rewriteIan Jackson, Apr 22, 2026
  19. Junio C HamanoJun 1, 2026
  20. Ian JacksonJun 2, 2026
  21. Colin StagnerJun 3, 2026
  22. Ian JacksonJun 3, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.