On Tue, Nov 28, 2023 at 10:17 PM Zach FettersMoore via GitGitGadget <gitgitgadget@xxxxxxxxx> wrote: > 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'A and 'apollo-ios-codegen' It looks like there is a spurious A after 'apollo-ios' in the line above. > directories > -Create a commit containing these changes > -Do a split on apollo-ios-codegen > - git subtree split --prefix=apollo-ios-codegen --squash --rejoin I might be doing something stupid or wrong, but I get the following: $ git subtree split --prefix=apollo-ios-codegen --squash --rejoin fatal: could not rev-parse split hash cc70a7d49e84696f0df210710445784c504ed748 from commit 360f068ea0d57f250621ab7dbe205313f52a0e98 hint: hash might be a tag, try fetching it from the subtree repository: hint: git fetch <subtree-repository> cc70a7d49e84696f0df210710445784c504ed748 > -Do a split on apollo-ios > - git subtree split --prefix=apollo-ios --squash --rejoin Same issue: $ git subtree split --prefix=apollo-ios --squash --rejoin fatal: could not rev-parse split hash b852c0aa1fd5ab9e1323da92b606ad3f2211e111 from commit b48030c3eb6e2faf4bff981c5c63ca72aceecdfa hint: hash might be a tag, try fetching it from the subtree repository: hint: git fetch <subtree-repository> b852c0aa1fd5ab9e1323da92b606ad3f2211e111 I didn't try to get farther than this, as it seems that some instructions might be missing. [...] > So this commit makes a change to the processing of commits for the > split command in order to ignore non-mainline commits from other > subtrees such as apollo-ios in the above breakdown by adding a new > function 'should_ignore_subtree_commit' which is called during > 'process_split_commit'. This allows the split/rejoin processing to > still function as expected but removes all of the unnecessary > processing that takes place currently which greatly inflates the > processing time. In the above example, previously the final split > would take ~10-12 minutes, while after this fix it takes seconds. Nice! Except for the above issues in the commit message, the rest of the patch looks good to me, thanks!