Skip to content

Commit 6b24d5c

Browse files
committed
Rename infer_package to infer_package_for_git_source
Signed-off-by: hi-rustin <[email protected]>
1 parent 6ae2921 commit 6b24d5c

File tree

2 files changed

+8
-12
lines changed
  • src/cargo/ops/cargo_add
  • tests/testsuite/cargo_add/git_inferred_name_multiple

2 files changed

+8
-12
lines changed

src/cargo/ops/cargo_add/mod.rs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ fn resolve_dependency(
289289
} else {
290290
let mut source = crate::sources::GitSource::new(src.source_id()?, config)?;
291291
let packages = source.read_packages()?;
292-
let package = infer_package(packages, &src, true)?;
292+
let package = infer_package_for_git_source(packages, &src)?;
293293
Dependency::from(package.summary())
294294
};
295295
selected
@@ -313,8 +313,10 @@ fn resolve_dependency(
313313
selected
314314
} else {
315315
let source = crate::sources::PathSource::new(&path, src.source_id()?, config);
316-
let packages = source.read_packages()?;
317-
let package = infer_package(packages, &src, false)?;
316+
let mut packages = source.read_packages()?;
317+
let package = packages
318+
.pop()
319+
.ok_or(anyhow::anyhow!("no packages found at `{src}`"))?;
318320
Dependency::from(package.summary())
319321
};
320322
selected
@@ -599,10 +601,9 @@ fn select_package(
599601
}
600602
}
601603

602-
fn infer_package(
604+
fn infer_package_for_git_source(
603605
mut packages: Vec<Package>,
604606
src: &dyn std::fmt::Display,
605-
is_git_source: bool,
606607
) -> CargoResult<Package> {
607608
let package = match packages.len() {
608609
0 => {
@@ -616,7 +617,7 @@ fn infer_package(
616617
.collect();
617618
names.sort_unstable();
618619
anyhow::bail!(
619-
"multiple packages found at `{src}`:\n {}{}",
620+
"multiple packages found at `{src}`:\n {}\nTo disambiguate, run `cargo add --git {src} <package>`",
620621
names
621622
.iter()
622623
.map(|s| s.to_string())
@@ -627,11 +628,6 @@ fn infer_package(
627628
})
628629
.into_iter()
629630
.format("\n "),
630-
if is_git_source {
631-
format!("\nTo disambiguate, run `cargo add --git {src} <crate>`")
632-
} else {
633-
"".to_owned()
634-
}
635631
);
636632
}
637633
};

tests/testsuite/cargo_add/git_inferred_name_multiple/stderr.log

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
error: multiple packages found at `[ROOTURL]/git-package`:
33
my-package1, my-package2, my-package3, my-package4, my-package5, my-package6
44
my-package7, my-package8, my-package9
5-
To disambiguate, run `cargo add --git [ROOTURL]/git-package <crate>`
5+
To disambiguate, run `cargo add --git [ROOTURL]/git-package <package>`

0 commit comments

Comments
 (0)