You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When working in a git repo with multiple cargo workspaces, I currently need to run cargo set-version --workspace --bump minor in every workspace directory, and then go and manually fix all of the cross-workspace dependencies.
It would be awesome if the command could take care of the cross-workspace dependencies for me. I'd be willing to submit a PR with some guidance as I know nothing about this codebase yet.
The text was updated successfully, but these errors were encountered:
These commands are being written as-if they will be merged into cargo and follow the patterns of existing cargo commands and try not to innovate on cargo's design.
We are specifically not interested in nested workspaces. This is for a monorepo where each directory in the root is an independent workspace, but we actively don't want all of these directories to be analyzed at once, because the cost to do so would be prohibitive.
Consider a company with multiple large products, each which have hundreds of dependencies without much dependency crossover. Having all of these dependencies (potentially thousands) pulled in while you are working on just one of those products is a pretty terrible developer experience. However, there is some crossover in core libraries, and sometimes you need to bump versions across the entire repo.
I think this is a legitimate use of cargo at a larger scale, and something that nested workspaces won't address. Another pragmatic example of this is the recursive flag in cargo-sweep (unofficial, I know 🙂). It's not uncommon for users of cargo to store multiple independent workspaces/crates as siblings in their filesystem, and as projects get large, that can be a useful tool with tradeoffs compared to lumping everything into a single workspace, especially in a monorepo environment. Thanks for your consideration!
When working in a git repo with multiple cargo workspaces, I currently need to run
cargo set-version --workspace --bump minor
in every workspace directory, and then go and manually fix all of the cross-workspace dependencies.It would be awesome if the command could take care of the cross-workspace dependencies for me. I'd be willing to submit a PR with some guidance as I know nothing about this codebase yet.
The text was updated successfully, but these errors were encountered: