3 ms·
But Cargo supports having multiple crates in the same git repo. Many projects do this like regex (regex and regex-syntax are in the same repo) and openssl (open
by jeltz 7y ago
But Cargo supports having multiple crates in the same git repo. Many projects do this like regex (regex and regex-syntax are in the same repo) and openssl (openssl, openssl-sys, openssl-errors). Maybe I am missing something but it seems very easy to handle multiple closely related crates in the same repo.
- kibwen 7y agoWhat makes this possible is Cargo's "workspace" feature, which is relatively new enough that it's not hard to imagine that some older projects may simply predate it.
- mcny 7y agoWould something like git subtree help here? Allow people to continue working with their individual repos but present a unified view for outsiders to follow along? We could automate this, right?
- jeltz 7y agoHm, I have been doing this just fine without using the workspaces. What am I missing?
- exrook 7y agoCargo workspaces are more of an optimization in that they let all the crates in your project share the same output directory[0], so built dependencies can be shared among every crate, as opposed to each crate needing to (re)build all of its dependencies independently. This helps to reduce compile times when working on projects where you frequently switch between crates. [0] https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html