On Mon, Dec 11, 2023 at 4:39 PM Zach FettersMoore <zach.fetters@xxxxxxxxxxxxxxxxx> wrote: > > >> > >> From: Zach FettersMoore <zach.fetters@xxxxxxxxxxxxxxxxx> > >> To see this in practice you can use the open source GitHub repo > >> 'apollo-ios-dev' and do the following in order: > >> > >> -Make a changes to a file in 'apollo-ios' and 'apollo-ios-codegen' > >> directories > >> -Create a commit containing these changes > >> -Do a split on apollo-ios-codegen > >> - Do a fetch on the subtree repo > >> - git fetch git@xxxxxxxxxx:apollographql/apollo-ios-codegen.git > >> - git subtree split --prefix=apollo-ios-codegen --squash --rejoin > > > Now I get the following without your patch at this step: > > > > $ git subtree split --prefix=apollo-ios-codegen --squash --rejoin > > [...]/libexec/git-core/git-subtree: 318: Maximum function recursion > > depth (1000) reached > > > > Line 318 in git-subtree.sh contains the following: > > > > missed=$(cache_miss "$@") || exit $? > > > > With your patch it seems to work: > > > > $ git subtree split --prefix=apollo-ios-codegen --squash --rejoin > > Merge made by the 'ort' strategy. > > e274aed3ba6d0659fb4cc014587cf31c1e8df7f4 > > Looking into this some it looks like it could be a bash config > difference? My machine always runs it all the way through vs > failing for recursion depth. Although that would also be an issue > which is solved by this fix. I use Ubuntu where /bin/sh is dash so my current guess is that dash might have a smaller recursion limit than bash. I just found https://stackoverflow.com/questions/69493528/git-subtree-maximum-function-recursion-depth which seems to agree. I will try to test using bash soon. > >> - Depending on the current state of the 'apollo-ios-dev' repo > >> you may see the issue at this point if the last split was on > >> apollo-ios > > > I guess I see it, but it seems a bit different for me than what you describe. > > > > Otherwise your patch looks good to me now. > > Yea I hadn't accounted for/realized that some folks may see a recursion > depth error vs it just taking a long time like it does for me. Also what > I was saying with the apollo-ios-dev repo is you may not need all the steps > to see the issue, because its possible the state of the repo is already > in a position to display the issue just by doing a split on > apollo-ios-codegen. > > Great! Thanks again for all the feedback and guidance! Is there anything > else I need to do to get this across the finish line and merged in? Hopefully I will be able to confirm I see the same error as you with bash soon, and it will be enough to get it merged.