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

Re: Regression in git-subtree.sh, introduced in 2.20.1, after 315a84f9aa0e2e629b0680068646b0032518ebed

From
Tom Clarkson <tqclarkson@icloud.com>
Date
Dec 18, 2019, 00:15 UTC
Message-ID
<C4578D90-519D-4C24-9E62-C7E949D2FE0E@icloud.com>
In-Reply-To
<CAPyFy2ANiDQ+Ed+3vG-MAxeAV=CRhJow56F7tBooBpJ-Q9B-bA@mail.gmail.com>
Show 13 quoted lines
> On 16 Dec 2019, at 10:30 pm, Ed Maste <emaste@freebsd.org> wrote:
> 
> On Sat, 14 Dec 2019 at 09:27, Tom Clarkson <tqclarkson@icloud.com> wrote:
>> 
>> When you say it pushed every commit, does that mean that a bunch of mainline commits erroneously ended up in the subtree repo?
> 
> We encounter this case when trying to use subtree on the FreeBSD
> repository. In our case it's caused by commit that should not be
> classified as a commit to the subtree, but has no files in the
> subtree. In our case it looks like an artifact of svn-git conversion
> of an odd working branch, but the same issue is reproducible in other
> ways. For example, it will appear if the subtree is deleted at some
> point and later re-added.
Deleting and re-adding a subtree is an interesting case. My patch won’t avoid the recursion there, because it can only be certain about the irrelevance of commits from before the first add.
However, I think that may be ok to leave in as something of an edge case - you may get more recursion than your system can handle, but assuming process_split_commit is correct, you can work around it by increasing ulimit, and can avoid any subsequent performance issues with a rejoin commit. Maybe we could display some sort of “your repo is doing something weird” warning to make it clearer where there are problems to be worked around.
Although the recursion would no doubt fall over on pretty much any machine when depth gets to 200k, it looks like the FreeBSD repo isn’t getting to that point, so let’s  cover the details of more reliable mainline detection on its own thread.
Previous: Ed MasteNext: Marc Balmer
Message 19 of 20 in “RE: Regression in git-subtree.sh, introduced in 2.20.1, after 315a84f9aa0e2e629b0680068646b0032518ebed”
  1. Nadav SInaiDec 8, 2019
  2. Strain, Roger L.Dec 9, 2019
  3. Marc BalmerDec 9, 2019
  4. Strain, Roger L.Dec 9, 2019
  5. Marc BalmerDec 9, 2019
  6. Johannes SchindelinDec 9, 2019
  7. Marc BalmerDec 9, 2019
  8. Johannes SchindelinDec 9, 2019
  9. Tom ClarksonDec 11, 2019
  10. Strain, Roger L.Dec 11, 2019
  11. Tom ClarksonDec 12, 2019
  12. Johannes SchindelinDec 13, 2019
  13. Marc BalmerDec 14, 2019
  14. Tom ClarksonDec 16, 2019
  15. Ed MasteDec 9, 2019
  16. Strain, Roger L.Dec 9, 2019
  17. Tom ClarksonDec 14, 2019
  18. Ed MasteDec 16, 2019
  19. Tom ClarksonDec 18, 2019
  20. Marc BalmerMar 12, 2020

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.