-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Start using gix
in bootstrap
#110369
Start using gix
in bootstrap
#110369
Conversation
(rustbot has picked a reviewer for you, use r? to override) |
93f438c
to
2b5dd54
Compare
The job Click to see the possible cause of the failure (guessed by this bot)
|
Can you quickly test the compile times of bootstrap now vs before? |
Running |
I feel like this needs a stronger motivation, particularly with such a hit to compile times. Do we know what's going wrong in #105696? I think anyone working within a git checkout should have a working git, and if we have cases where the git isn't quite working then maybe the better path is to support ignoring git's existence. |
I felt it could be nice to get rid of calling git cli and call the API instead, the mentioned issue was the reason why I looked at it but not the main motivation for this change. If this change in this direction is not welcome (even if I manage to reduce build time regression) I will just close this PR. In #105696 the problem is when running with Cygwin (or MSYS2 in this case because git is built with Cygwin libraries) git it returns unix style paths which are unknown to 99% of the native (built with mingw-w64 or MSVC, not built with Cygwin library). Rust is within those 99% so it gives an error because of the wrong path:
|
In general, if the build time regression is minimal and results are equivalent (including git CLI interop for things like submodule checkouts) then I don't mind moving to gix, especially if it improves compatibility. |
Okay, thanks. I'll see if I can get reduce build time first. |
@rustbot author |
Looks like build time regression cannot get any lower than 14-15s (from 10s) on my machine so closing. |
Once #99989 is implemented build time will become less important and it could be picked up again |
#99989 actually would be fairly easy to implement I think, since it goes through the existing |
Thanks but I already have to touch Python at my job more often than I'd like to, so I'll pass. |
I don't know if this approach is acceptable so opening PR with a single change to get feedback. If this is accepted I can work on converting more uses of
git
cli.FYI this crate is usable as an alternative backend for Cargo: rust-lang/cargo#11813
Fixes #105696