From 82c30c1c8e403cbceb561e3eb57f34539e84285f Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 8 Sep 2022 20:40:52 -0500 Subject: [PATCH] fix(upgrade)!: Exclusively operate on full workspaces This came from the internals discussion on what `cargo upgrade` should look like in cargo. See https://internals.rust-lang.org/t/feedback-on-cargo-upgrade-to-prepare-it-for-merging/17101 Benefits - Removes the UI conflict in selecting manifests to edit and selecting dependencies to upgrade - Will work naturally with `[workspace.dependencies]` - If we merge `upgrade` into `update` or supersede it, we'll already be aligned on behavior --- README.md | 9 +- src/bin/upgrade/upgrade.rs | 119 ++++++------------ tests/cargo-upgrade/invalid_dep/mod.rs | 2 +- tests/cargo-upgrade/invalid_flag/stderr.log | 2 +- .../cargo-upgrade/invalid_manifest/stderr.log | 23 ++-- .../invalid_workspace_root_manifest/mod.rs | 1 - .../stderr.log | 9 +- .../preserve_precision_major/mod.rs | 2 +- .../preserve_precision_minor/mod.rs | 2 +- .../preserve_precision_patch/mod.rs | 2 +- tests/cargo-upgrade/specified/mod.rs | 2 +- tests/cargo-upgrade/to_lockfile/mod.rs | 2 +- tests/cargo-upgrade/to_lockfile/stderr.log | 8 +- tests/cargo-upgrade/to_version/mod.rs | 2 +- tests/cargo-upgrade/upgrade_all/mod.rs | 2 +- tests/cargo-upgrade/upgrade_all/stderr.log | 9 +- tests/cargo-upgrade/upgrade_workspace/mod.rs | 2 +- .../upgrade_workspace/stderr.log | 8 +- .../cargo-upgrade/virtual_manifest/stderr.log | 8 +- .../cargo-upgrade/workspace_member_cwd/mod.rs | 2 +- .../workspace_member_cwd/out/Cargo.lock | 14 +-- .../out/explicit/four/Cargo.toml | 2 +- .../out/implicit/three/Cargo.toml | 2 +- .../workspace_member_cwd/out/two/Cargo.toml | 2 +- .../workspace_member_cwd/stderr.log | 12 ++ .../workspace_member_manifest_path/mod.rs | 2 +- .../out/explicit/four/Cargo.toml | 2 +- .../out/implicit/three/Cargo.toml | 2 +- .../out/two/Cargo.toml | 2 +- .../workspace_member_manifest_path/stderr.log | 12 ++ 30 files changed, 113 insertions(+), 155 deletions(-) diff --git a/README.md b/README.md index 0dd1aec3b5..f922749b42 100644 --- a/README.md +++ b/README.md @@ -140,25 +140,20 @@ cargo-upgrade [..] Upgrade dependency version requirements in Cargo.toml manifest files USAGE: - cargo upgrade [OPTIONS] [DEP_ID]... - -ARGS: - ... Crates to be upgraded + cargo upgrade [OPTIONS] OPTIONS: - --all [deprecated in favor of `--workspace`] --dry-run Print changes to be made without making them --exclude Crates to exclude and not upgrade -h, --help Print help information --locked Require `Cargo.toml` to be up to date --manifest-path Path to the manifest to upgrade --offline Run without accessing the network - -p, --package Package id of the crate to add this dependency to + -p, --package Crate to be upgraded --pinned Upgrade dependencies pinned in the manifest --to-lockfile Upgrade all packages to the version in the lockfile -v, --verbose Use verbose output -V, --version Print version information - --workspace Upgrade all packages in the workspace -Z Unstable (nightly-only) flags To only update Cargo.lock, see `cargo update`. diff --git a/src/bin/upgrade/upgrade.rs b/src/bin/upgrade/upgrade.rs index b7003af573..931f4aa5cd 100644 --- a/src/bin/upgrade/upgrade.rs +++ b/src/bin/upgrade/upgrade.rs @@ -1,17 +1,17 @@ use std::collections::BTreeMap; use std::collections::BTreeSet; -use std::io::Write; +use std::path::Path; use std::path::PathBuf; use cargo_edit::{ - colorize_stderr, find, get_latest_dependency, registry_url, resolve_manifests, set_dep_version, - shell_note, shell_status, shell_warn, shell_write_stderr, update_registry_index, CargoResult, - Context, CrateSpec, Dependency, LocalManifest, + find, get_latest_dependency, registry_url, set_dep_version, shell_note, shell_status, + shell_warn, shell_write_stderr, update_registry_index, CargoResult, CrateSpec, Dependency, + LocalManifest, }; use clap::Args; use indexmap::IndexMap; use semver::{Op, VersionReq}; -use termcolor::{Color, ColorSpec, StandardStream, WriteColor}; +use termcolor::{Color, ColorSpec}; /// Upgrade dependency version requirements in Cargo.toml manifest files #[derive(Debug, Args)] @@ -24,36 +24,17 @@ version as recorded in the Cargo.lock file. This flag requires that the Cargo.lo up-to-date. If the lock file is missing, or it needs to be updated, cargo-upgrade will exit with \ an error.")] pub struct UpgradeArgs { - /// Crates to be upgraded. - #[clap(value_name = "DEP_ID")] - dependency: Vec, - /// Path to the manifest to upgrade #[clap(long, value_name = "PATH", action)] manifest_path: Option, - /// Package id of the crate to add this dependency to. - #[clap( - long = "package", - short = 'p', - value_name = "PKGID", - conflicts_with = "all", - conflicts_with = "workspace" - )] - pkgid: Vec, - - /// Upgrade all packages in the workspace. - #[clap( - long, - help = "[deprecated in favor of `--workspace`]", - conflicts_with = "workspace", - conflicts_with = "pkgid" - )] - all: bool, - - /// Upgrade all packages in the workspace. - #[clap(long, conflicts_with = "all", conflicts_with = "pkgid")] - workspace: bool, + /// Crate to be upgraded + #[clap(long, short, value_name = "PKGID")] + package: Vec, + + /// Crates to exclude and not upgrade. + #[clap(long)] + exclude: Vec, /// Print changes to be made without making them. #[clap(long)] @@ -71,10 +52,6 @@ pub struct UpgradeArgs { #[clap(long)] to_lockfile: bool, - /// Crates to exclude and not upgrade. - #[clap(long)] - exclude: Vec, - /// Require `Cargo.toml` to be up to date #[clap(long)] locked: bool, @@ -93,18 +70,6 @@ impl UpgradeArgs { exec(self) } - fn workspace(&self) -> bool { - self.all || self.workspace - } - - fn resolve_targets(&self) -> CargoResult> { - resolve_manifests( - self.manifest_path.as_deref(), - self.workspace(), - self.pkgid.iter().map(|s| s.as_str()).collect::>(), - ) - } - fn verbose(&self, mut callback: F) -> CargoResult<()> where F: FnMut() -> CargoResult<()>, @@ -123,20 +88,18 @@ enum UnstableOptions {} /// Main processing function. Allows us to return a `Result` so that `main` can print pretty error /// messages. fn exec(args: UpgradeArgs) -> CargoResult<()> { - if args.all { - deprecated_message("The flag `--all` has been deprecated in favor of `--workspace`")?; - } - if !args.offline && !args.to_lockfile { let url = registry_url(&find(args.manifest_path.as_deref())?, None)?; update_registry_index(&url, false)?; } - let manifests = args.resolve_targets()?; - let locked = load_lockfile(&manifests, args.locked, args.offline).unwrap_or_default(); + let metadata = resolve_ws(args.manifest_path.as_deref(), args.locked, args.offline)?; + let manifest_path = metadata.workspace_root.as_std_path().join("Cargo.toml"); + let manifests = find_ws_members(&metadata); + let locked = metadata.packages; let selected_dependencies = args - .dependency + .package .iter() .map(|name| { let spec = CrateSpec::resolve(name)?; @@ -324,7 +287,7 @@ fn exec(args: UpgradeArgs) -> CargoResult<()> { if args.locked { anyhow::bail!("cannot upgrade due to `--locked`"); } else { - load_lockfile(&manifests, args.locked, args.offline)?; + resolve_ws(Some(&manifest_path), args.locked, args.offline)?; } } @@ -353,19 +316,15 @@ fn exec(args: UpgradeArgs) -> CargoResult<()> { Ok(()) } -fn load_lockfile( - targets: &[cargo_metadata::Package], +fn resolve_ws( + manifest_path: Option<&Path>, locked: bool, offline: bool, -) -> CargoResult> { - // Get locked dependencies. For workspaces with multiple Cargo.toml - // files, there is only a single lockfile, so it suffices to get - // metadata for any one of Cargo.toml files. - let package = targets - .get(0) - .ok_or_else(|| anyhow::format_err!("Invalid cargo config"))?; +) -> CargoResult { let mut cmd = cargo_metadata::MetadataCommand::new(); - cmd.manifest_path(package.manifest_path.clone()); + if let Some(manifest_path) = manifest_path { + cmd.manifest_path(manifest_path); + } cmd.features(cargo_metadata::CargoOpt::AllFeatures); let mut other = Vec::new(); if locked { @@ -376,11 +335,20 @@ fn load_lockfile( } cmd.other_options(other); - let result = cmd.exec()?; - - let locked = result.packages; + let ws = cmd.exec().or_else(|_| { + cmd.no_deps(); + cmd.exec() + })?; + Ok(ws) +} - Ok(locked) +fn find_ws_members(ws: &cargo_metadata::Metadata) -> Vec { + let workspace_members: std::collections::HashSet<_> = ws.workspace_members.iter().collect(); + ws.packages + .iter() + .filter(|p| workspace_members.contains(&p.id)) + .cloned() + .collect() } fn find_locked_version( @@ -427,19 +395,6 @@ fn is_pinned_req(old_version_req: &str) -> bool { } } -fn deprecated_message(message: &str) -> CargoResult<()> { - let colorchoice = colorize_stderr(); - let mut output = StandardStream::stderr(colorchoice); - output - .set_color(ColorSpec::new().set_fg(Some(Color::Red)).set_bold(true)) - .with_context(|| "Failed to set output colour")?; - writeln!(output, "{}", message).with_context(|| "Failed to write deprecated message")?; - output - .set_color(&ColorSpec::new()) - .with_context(|| "Failed to clear output colour")?; - Ok(()) -} - struct Dep { name: String, old_version_req: String, diff --git a/tests/cargo-upgrade/invalid_dep/mod.rs b/tests/cargo-upgrade/invalid_dep/mod.rs index 33b9e5a3a5..06d6f4eacb 100644 --- a/tests/cargo-upgrade/invalid_dep/mod.rs +++ b/tests/cargo-upgrade/invalid_dep/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["failure"]) + .args(["--package", "failure"]) .current_dir(cwd) .assert() .failure() diff --git a/tests/cargo-upgrade/invalid_flag/stderr.log b/tests/cargo-upgrade/invalid_flag/stderr.log index bd2c697799..115eea3247 100644 --- a/tests/cargo-upgrade/invalid_flag/stderr.log +++ b/tests/cargo-upgrade/invalid_flag/stderr.log @@ -3,6 +3,6 @@ error: Found argument '--flag' which wasn't expected, or isn't valid in this con If you tried to supply `--flag` as a value rather than a flag, use `-- --flag` USAGE: - cargo upgrade [OPTIONS] [DEP_ID]... + cargo upgrade [OPTIONS] For more information try --help diff --git a/tests/cargo-upgrade/invalid_manifest/stderr.log b/tests/cargo-upgrade/invalid_manifest/stderr.log index d6d89f1667..a84e8fcf0b 100644 --- a/tests/cargo-upgrade/invalid_manifest/stderr.log +++ b/tests/cargo-upgrade/invalid_manifest/stderr.log @@ -1,16 +1,13 @@ Updating '[ROOTURL]/registry' index -Error: Invalid manifest +Error: `cargo metadata` exited with an error: error: failed to parse manifest at `[ROOT]/case/Cargo.toml` Caused by: - `cargo metadata` exited with an error: error: failed to parse manifest at `[ROOT]/case/Cargo.toml` - - Caused by: - could not parse input as TOML - - Caused by: - TOML parse error at line 1, column 6 - | - 1 | This is clearly not a valid Cargo.toml. - | ^ - Unexpected `i` - Expected `.` or `=` + could not parse input as TOML + +Caused by: + TOML parse error at line 1, column 6 + | + 1 | This is clearly not a valid Cargo.toml. + | ^ + Unexpected `i` + Expected `.` or `=` diff --git a/tests/cargo-upgrade/invalid_workspace_root_manifest/mod.rs b/tests/cargo-upgrade/invalid_workspace_root_manifest/mod.rs index b79d0bccda..be8d17d394 100644 --- a/tests/cargo-upgrade/invalid_workspace_root_manifest/mod.rs +++ b/tests/cargo-upgrade/invalid_workspace_root_manifest/mod.rs @@ -14,7 +14,6 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["--workspace"]) .current_dir(cwd) .assert() .code(1) diff --git a/tests/cargo-upgrade/invalid_workspace_root_manifest/stderr.log b/tests/cargo-upgrade/invalid_workspace_root_manifest/stderr.log index 52975e8fa6..ff297b6e2b 100644 --- a/tests/cargo-upgrade/invalid_workspace_root_manifest/stderr.log +++ b/tests/cargo-upgrade/invalid_workspace_root_manifest/stderr.log @@ -1,11 +1,6 @@ Updating '[ROOTURL]/registry' index -Error: Invalid manifest +Error: `cargo metadata` exited with an error: error: failed to parse manifest at `[ROOT]/case/Cargo.toml` Caused by: - `cargo metadata` exited with an error: error: failed to parse manifest at `[ROOT]/case/Cargo.toml` - - Caused by: - could not parse input as TOML - - Caused by: + could not parse input as TOML ... diff --git a/tests/cargo-upgrade/preserve_precision_major/mod.rs b/tests/cargo-upgrade/preserve_precision_major/mod.rs index a9cf401fdf..d8f811a223 100644 --- a/tests/cargo-upgrade/preserve_precision_major/mod.rs +++ b/tests/cargo-upgrade/preserve_precision_major/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["--pinned", "--verbose"]) + .args(["--verbose", "--pinned"]) .current_dir(cwd) .assert() .success() diff --git a/tests/cargo-upgrade/preserve_precision_minor/mod.rs b/tests/cargo-upgrade/preserve_precision_minor/mod.rs index a9cf401fdf..d8f811a223 100644 --- a/tests/cargo-upgrade/preserve_precision_minor/mod.rs +++ b/tests/cargo-upgrade/preserve_precision_minor/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["--pinned", "--verbose"]) + .args(["--verbose", "--pinned"]) .current_dir(cwd) .assert() .success() diff --git a/tests/cargo-upgrade/preserve_precision_patch/mod.rs b/tests/cargo-upgrade/preserve_precision_patch/mod.rs index a9cf401fdf..d8f811a223 100644 --- a/tests/cargo-upgrade/preserve_precision_patch/mod.rs +++ b/tests/cargo-upgrade/preserve_precision_patch/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["--pinned", "--verbose"]) + .args(["--verbose", "--pinned"]) .current_dir(cwd) .assert() .success() diff --git a/tests/cargo-upgrade/specified/mod.rs b/tests/cargo-upgrade/specified/mod.rs index a27ea111b5..6d409766e6 100644 --- a/tests/cargo-upgrade/specified/mod.rs +++ b/tests/cargo-upgrade/specified/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["my-package1"]) + .args(["--package", "my-package1"]) .current_dir(cwd) .assert() .success() diff --git a/tests/cargo-upgrade/to_lockfile/mod.rs b/tests/cargo-upgrade/to_lockfile/mod.rs index d7768cb967..081d119b1d 100644 --- a/tests/cargo-upgrade/to_lockfile/mod.rs +++ b/tests/cargo-upgrade/to_lockfile/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["--workspace", "--to-lockfile", "--verbose"]) + .args(["--to-lockfile", "--verbose"]) .current_dir(cwd) .assert() .success() diff --git a/tests/cargo-upgrade/to_lockfile/stderr.log b/tests/cargo-upgrade/to_lockfile/stderr.log index 80c6491c02..a76e27319d 100644 --- a/tests/cargo-upgrade/to_lockfile/stderr.log +++ b/tests/cargo-upgrade/to_lockfile/stderr.log @@ -1,3 +1,7 @@ + Checking four's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= +my-package 0.2.0 0.2.3 99999.0.0 0.2.3 Checking one's dependencies name old req locked latest new req ==== ======= ====== ====== ======= @@ -10,8 +14,4 @@ my-package 0.2.0 0.2.3 99999.0.0 0.2.3 Checking two's dependencies name old req locked latest new req ==== ======= ====== ====== ======= -my-package 0.2.0 0.2.3 99999.0.0 0.2.3 - Checking four's dependencies -name old req locked latest new req -==== ======= ====== ====== ======= my-package 0.2.0 0.2.3 99999.0.0 0.2.3 diff --git a/tests/cargo-upgrade/to_version/mod.rs b/tests/cargo-upgrade/to_version/mod.rs index 68cd2e43e0..dc9c6a5c4e 100644 --- a/tests/cargo-upgrade/to_version/mod.rs +++ b/tests/cargo-upgrade/to_version/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["docopt@99999.0.0", "--verbose"]) + .args(["--package", "docopt@99999.0.0", "--verbose"]) .current_dir(cwd) .assert() .success() diff --git a/tests/cargo-upgrade/upgrade_all/mod.rs b/tests/cargo-upgrade/upgrade_all/mod.rs index d5afbc0eba..b55e769327 100644 --- a/tests/cargo-upgrade/upgrade_all/mod.rs +++ b/tests/cargo-upgrade/upgrade_all/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["--all", "--verbose"]) + .args(["--verbose"]) .current_dir(cwd) .assert() .success() diff --git a/tests/cargo-upgrade/upgrade_all/stderr.log b/tests/cargo-upgrade/upgrade_all/stderr.log index ec9ffa61af..ca79df9c54 100644 --- a/tests/cargo-upgrade/upgrade_all/stderr.log +++ b/tests/cargo-upgrade/upgrade_all/stderr.log @@ -1,5 +1,8 @@ -The flag `--all` has been deprecated in favor of `--workspace` Updating '[ROOTURL]/registry' index + Checking four's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= +my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 Checking one's dependencies name old req locked latest new req ==== ======= ====== ====== ======= @@ -12,8 +15,4 @@ my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 Checking two's dependencies name old req locked latest new req ==== ======= ====== ====== ======= -my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 - Checking four's dependencies -name old req locked latest new req -==== ======= ====== ====== ======= my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 diff --git a/tests/cargo-upgrade/upgrade_workspace/mod.rs b/tests/cargo-upgrade/upgrade_workspace/mod.rs index 127e191336..b55e769327 100644 --- a/tests/cargo-upgrade/upgrade_workspace/mod.rs +++ b/tests/cargo-upgrade/upgrade_workspace/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["--workspace", "--verbose"]) + .args(["--verbose"]) .current_dir(cwd) .assert() .success() diff --git a/tests/cargo-upgrade/upgrade_workspace/stderr.log b/tests/cargo-upgrade/upgrade_workspace/stderr.log index 7d18df6b01..ca79df9c54 100644 --- a/tests/cargo-upgrade/upgrade_workspace/stderr.log +++ b/tests/cargo-upgrade/upgrade_workspace/stderr.log @@ -1,4 +1,8 @@ Updating '[ROOTURL]/registry' index + Checking four's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= +my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 Checking one's dependencies name old req locked latest new req ==== ======= ====== ====== ======= @@ -11,8 +15,4 @@ my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 Checking two's dependencies name old req locked latest new req ==== ======= ====== ====== ======= -my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 - Checking four's dependencies -name old req locked latest new req -==== ======= ====== ====== ======= my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 diff --git a/tests/cargo-upgrade/virtual_manifest/stderr.log b/tests/cargo-upgrade/virtual_manifest/stderr.log index 7d18df6b01..ca79df9c54 100644 --- a/tests/cargo-upgrade/virtual_manifest/stderr.log +++ b/tests/cargo-upgrade/virtual_manifest/stderr.log @@ -1,4 +1,8 @@ Updating '[ROOTURL]/registry' index + Checking four's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= +my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 Checking one's dependencies name old req locked latest new req ==== ======= ====== ====== ======= @@ -11,8 +15,4 @@ my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 Checking two's dependencies name old req locked latest new req ==== ======= ====== ====== ======= -my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 - Checking four's dependencies -name old req locked latest new req -==== ======= ====== ====== ======= my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 diff --git a/tests/cargo-upgrade/workspace_member_cwd/mod.rs b/tests/cargo-upgrade/workspace_member_cwd/mod.rs index 9894b9a351..d521f537ce 100644 --- a/tests/cargo-upgrade/workspace_member_cwd/mod.rs +++ b/tests/cargo-upgrade/workspace_member_cwd/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["my-package"]) + .args(["--package", "my-package"]) .current_dir(&cwd) .assert() .success() diff --git a/tests/cargo-upgrade/workspace_member_cwd/out/Cargo.lock b/tests/cargo-upgrade/workspace_member_cwd/out/Cargo.lock index de44e37d31..cd11e50ad0 100644 --- a/tests/cargo-upgrade/workspace_member_cwd/out/Cargo.lock +++ b/tests/cargo-upgrade/workspace_member_cwd/out/Cargo.lock @@ -6,15 +6,9 @@ version = 3 name = "four" version = "0.1.0" dependencies = [ - "my-package 0.1.1+my-package", + "my-package", ] -[[package]] -name = "my-package" -version = "0.1.1+my-package" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61758fedb08b81e9c6967f0661a54feb83fb38eb4bde3614119fbc1d03c1cedf" - [[package]] name = "my-package" version = "99999.0.0+my-package" @@ -25,7 +19,7 @@ checksum = "62c45acf9e11d2f97f5b318143219c0b4102eafef1c22a4b545b47104691d915" name = "one" version = "0.1.0" dependencies = [ - "my-package 99999.0.0+my-package", + "my-package", "three", ] @@ -33,12 +27,12 @@ dependencies = [ name = "three" version = "0.1.0" dependencies = [ - "my-package 0.1.1+my-package", + "my-package", ] [[package]] name = "two" version = "0.1.0" dependencies = [ - "my-package 0.1.1+my-package", + "my-package", ] diff --git a/tests/cargo-upgrade/workspace_member_cwd/out/explicit/four/Cargo.toml b/tests/cargo-upgrade/workspace_member_cwd/out/explicit/four/Cargo.toml index 1070488791..41ea83c322 100644 --- a/tests/cargo-upgrade/workspace_member_cwd/out/explicit/four/Cargo.toml +++ b/tests/cargo-upgrade/workspace_member_cwd/out/explicit/four/Cargo.toml @@ -6,4 +6,4 @@ version = "0.1.0" path = "../../dummy.rs" [dependencies] -my-package = "0.1.1" +my-package = "99999.0.0" diff --git a/tests/cargo-upgrade/workspace_member_cwd/out/implicit/three/Cargo.toml b/tests/cargo-upgrade/workspace_member_cwd/out/implicit/three/Cargo.toml index 3953740319..0e270bc641 100644 --- a/tests/cargo-upgrade/workspace_member_cwd/out/implicit/three/Cargo.toml +++ b/tests/cargo-upgrade/workspace_member_cwd/out/implicit/three/Cargo.toml @@ -6,4 +6,4 @@ version = "0.1.0" path = "../../dummy.rs" [dependencies] -my-package = "0.1.1" +my-package = "99999.0.0" diff --git a/tests/cargo-upgrade/workspace_member_cwd/out/two/Cargo.toml b/tests/cargo-upgrade/workspace_member_cwd/out/two/Cargo.toml index 1614378880..bfcaff39d6 100644 --- a/tests/cargo-upgrade/workspace_member_cwd/out/two/Cargo.toml +++ b/tests/cargo-upgrade/workspace_member_cwd/out/two/Cargo.toml @@ -7,4 +7,4 @@ name = "two" path = "../dummy.rs" [dependencies] -my-package = "0.1.1" +my-package = "99999.0.0" diff --git a/tests/cargo-upgrade/workspace_member_cwd/stderr.log b/tests/cargo-upgrade/workspace_member_cwd/stderr.log index 0961a63ccb..705f6e440a 100644 --- a/tests/cargo-upgrade/workspace_member_cwd/stderr.log +++ b/tests/cargo-upgrade/workspace_member_cwd/stderr.log @@ -1,5 +1,17 @@ Updating '[ROOTURL]/registry' index + Checking four's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= +my-package 0.1.1 0.1.1 99999.0.0 99999.0.0 Checking one's dependencies name old req locked latest new req ==== ======= ====== ====== ======= +my-package 0.1.1 0.1.1 99999.0.0 99999.0.0 + Checking three's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= +my-package 0.1.1 0.1.1 99999.0.0 99999.0.0 + Checking two's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= my-package 0.1.1 0.1.1 99999.0.0 99999.0.0 diff --git a/tests/cargo-upgrade/workspace_member_manifest_path/mod.rs b/tests/cargo-upgrade/workspace_member_manifest_path/mod.rs index b863713b7e..cc69d5aed3 100644 --- a/tests/cargo-upgrade/workspace_member_manifest_path/mod.rs +++ b/tests/cargo-upgrade/workspace_member_manifest_path/mod.rs @@ -14,7 +14,7 @@ fn case() { snapbox::cmd::Command::cargo_ui() .arg("upgrade") - .args(["my-package", "--manifest-path", "Cargo.toml"]) + .args(["--package", "my-package", "--manifest-path", "Cargo.toml"]) .current_dir(&cwd) .assert() .success() diff --git a/tests/cargo-upgrade/workspace_member_manifest_path/out/explicit/four/Cargo.toml b/tests/cargo-upgrade/workspace_member_manifest_path/out/explicit/four/Cargo.toml index 1f61e45a1a..e4b5869168 100644 --- a/tests/cargo-upgrade/workspace_member_manifest_path/out/explicit/four/Cargo.toml +++ b/tests/cargo-upgrade/workspace_member_manifest_path/out/explicit/four/Cargo.toml @@ -6,4 +6,4 @@ version = "0.1.5" path = "../../dummy.rs" [dependencies] -my-package = "0.2.0" +my-package = "99999.0.0" diff --git a/tests/cargo-upgrade/workspace_member_manifest_path/out/implicit/three/Cargo.toml b/tests/cargo-upgrade/workspace_member_manifest_path/out/implicit/three/Cargo.toml index 05305ab0e5..3deb90aa4b 100644 --- a/tests/cargo-upgrade/workspace_member_manifest_path/out/implicit/three/Cargo.toml +++ b/tests/cargo-upgrade/workspace_member_manifest_path/out/implicit/three/Cargo.toml @@ -6,4 +6,4 @@ version = "0.1.5" path = "../../dummy.rs" [dependencies] -my-package = "0.2.0" +my-package = "99999.0.0" diff --git a/tests/cargo-upgrade/workspace_member_manifest_path/out/two/Cargo.toml b/tests/cargo-upgrade/workspace_member_manifest_path/out/two/Cargo.toml index 054a48778f..bfcaff39d6 100644 --- a/tests/cargo-upgrade/workspace_member_manifest_path/out/two/Cargo.toml +++ b/tests/cargo-upgrade/workspace_member_manifest_path/out/two/Cargo.toml @@ -7,4 +7,4 @@ name = "two" path = "../dummy.rs" [dependencies] -my-package = "0.2.0" +my-package = "99999.0.0" diff --git a/tests/cargo-upgrade/workspace_member_manifest_path/stderr.log b/tests/cargo-upgrade/workspace_member_manifest_path/stderr.log index 1371b8acd2..f3124d818a 100644 --- a/tests/cargo-upgrade/workspace_member_manifest_path/stderr.log +++ b/tests/cargo-upgrade/workspace_member_manifest_path/stderr.log @@ -1,5 +1,17 @@ Updating '[ROOTURL]/registry' index + Checking four's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= +my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 Checking one's dependencies name old req locked latest new req ==== ======= ====== ====== ======= +my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 + Checking three's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= +my-package 0.2.0 0.2.3 99999.0.0 99999.0.0 + Checking two's dependencies +name old req locked latest new req +==== ======= ====== ====== ======= my-package 0.2.0 0.2.3 99999.0.0 99999.0.0