-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Add code for simultaneous installation of multiple crates #3075
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
Oh, Tests failed. |
Thanks! Could you be sure to add some tests for the new functionality as well? |
That should have fixed the tests and also simplified the changes. |
Ok, got a chance to look at this. Cleared up on IRC that new new functionality was added to the CLI, just the backend. Unfortunately though I think this suffers the same problem as #2601 where once the support is hooked up it'll print out and update the registry one time per crate being installed. That experience though, I believe, was the primary stalling point for the previous PR. Maybe it'd be good to go ahead and add support to the CLI all in one go to see how it'd work? |
This is indeed a problem. It seems to me that we want to prevent the Also, I'm not yet sure how to parse the arguments. I might look into clap or something similar. |
Yeah I think we'll basically want to persist the same |
I agree to having a persistent |
☔ The latest upstream changes (presumably #3146) made this pull request unmergeable. Please resolve the merge conflicts. |
Closing due to inactivity, but feel free to resubmit with a rebase! |
cargo install multiple crates rust-lang/rustup#986 for `cargo install` Revives #2601 @pwoolcoc, replaces #3075 @esclear, closes #2585 @kindlychung @cyplo Avoids the sticking point of the previous two PRs (multiple registry updates) by threading through a first-run boolean flag to decide whether `select_pkg` needs to call `source.update()`. There is still the issue that flags such as `--git` and `--vers` are "global" to the multiple packages you may be installing. The workaround is just to run `cargo install` separately. In the future we could add syntax like `cargo install foo=1.0 bar=2.5 quux=git://github.com/durka/quux#dev-branch` or something.
This is a change in the backend, for now and will only be used in the internals, as discussed with @alexcrichton.
Proper command parsing will follow, there is already a prototype: https://gist.github.com/esclear/4715c7ec3ff129b10b2342cde05fd46b