Adding the following options to the .gitmodules file was also useful for speeding up routine git commands: active = false ignore = true shallow = true I am not sure if all of them are necessary - I don't profess to be a git wizard. I still had commands such as 'git add -u' hang. Indeed --recurse-submodules is necessary (and might be why the CI is currently failing for the the PR). Thanks, Nicholas On Mon, Feb 22, 2021, 04:23 Hans Dembinski <hans.dembinski@gmail.com> wrote:
Hi,
On 22. Feb 2021, at 10:35, Ralf Gommers <ralf.gommers@gmail.com> wrote:
Ouch, that's a lot slower than I expected. I'm not sure I understand it though, there should be no `git status` churn at all (unless the build process messes with files in-place?) and it's faster than cloning our own repo:
$ time git clone git@github.com:boostorg/boost.git Cloning into 'boost'... remote: Enumerating objects: 15, done. remote: Counting objects: 100% (15/15), done. remote: Compressing objects: 100% (11/11), done. remote: Total 254626 (delta 8), reused 11 (delta 4), pack-reused 254611 Receiving objects: 100% (254626/254626), 62.02 MiB | 7.47 MiB/s, done. Resolving deltas: 100% (163071/163071), done.
real 0m12.221s user 0m5.959s sys 0m2.725s
because of the a long-term goal to make boost more modular, cloning boostorg/boost like this only clones the so called superproject of Boost, which indeed very small. It consists itself of many submodules with the individual Boost libraries, like Boost.Math etc, which live in separate repositories. If you do
git clone --recurse-submodules git@github.com:boostorg/boost.git
instead, you will see the long delay. Fetching all the submodules indeed takes a lot of time, unfortunately. The main Boost repo includes 157 submodules.
Best regards, Hans _______________________________________________ SciPy-Dev mailing list SciPy-Dev@python.org https://mail.python.org/mailman/listinfo/scipy-dev