-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Faster submodule updating #49057
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