A scratchpad for https://github.com/rust-lang/cargo/issues/12425 Merge plan - [ ] Resolve #737 - [ ] Resolve #751 - [ ] Create `merge-upgrade` branch - [ ] Refactor to match cargo's directory structure - [ ] Refactor out of `cargo`s `ops/cargo_add/manifest.rs` into a place for reuse - Possibilities: `ops/cargo_edit` or `edit` and make it public - [ ] Port to cargo's internals - [ ] Merge the command (like in rust-lang/cargo#10472) - [ ] Update documentation (like in rust-lang/cargo#10578) - [ ] Update completions (like in rust-lang/cargo#10577) - [ ] Update https://github.com/rust-lang/rust/issues/44663 to include - cargo-upgrade selecting a safe version (#445) - for suggesting the user bump major (#144) - [ ] Transfer to cargo repo: - #513 - #410 Open questions - How do we represent "fail if manifest will change" and "upgrade using lock file" - Currently "fail if manifest will change" is `--locked` and "upgrade using lock file" is `--to-lockfile` - Alt: if you squint `--locked` could also mean "upgrade using lock file" - Prompt the user for each upgrade by default but also accept `--choice <none|locked|latest>`
A scratchpad for rust-lang/cargo#12425
Merge plan
cargo-upgrade#751merge-upgradebranchcargosops/cargo_add/manifest.rsinto a place for reuseops/cargo_editoreditand make it publiccargo-addrust-lang/cargo#10577)cargo upgrade? #513Open questions
--lockedand "upgrade using lock file" is--to-lockfile--lockedcould also mean "upgrade using lock file"--choice <none|locked|latest>