-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Faster submodule updating #49057
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Faster submodule updating #49057
Conversation
What is the tradeoff here? That we won't clean out submodules if they have untracked files? |
Yeah, they won't get cleaned by default, only when the submodule commit is outdated and the submodule updates. |
That seems fine to me. I'm generally okay with this change then. |
@bors: r+ rollup Nice! |
📌 Commit 72cb109 has been approved by |
Faster submodule updating For the common case when there are no submodules which need updating, this takes 0.48 seconds instead of 47 seconds. r? @alexcrichton
I’m late to the party, but another reason to support this change: I was once surprised (and annoyed) to see the build system silently erase uncommitted local changes that I had just made to a submodule. Fortunately I still had those files open in my text editor, but silent data loss is really not good. |
@SimonSapin That can still happen though if you pull master and the submodule was updated. |
I don't know why anyone would turn this off; doing so makes builds much slower (nearly a 60x slowdown according to rust-lang#49057). Remove the option to do so, which makes bootstrap a little easier to maintain. Bootstrap continues to allow you to manage submodules manually by setting `submodules = false`.
…lacrum Turn on `fast_submodules` unconditionally I don't know why anyone would turn this off; doing so makes builds much slower (nearly a 60x slowdown according to rust-lang#49057). Remove the option to do so, which makes bootstrap a little easier to maintain. Bootstrap continues to allow you to manage submodules manually by setting `submodules = false`.
For the common case when there are no submodules which need updating, this takes 0.48 seconds instead of 47 seconds.
r? @alexcrichton