1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37:44 +00:00

cp: remove interactive mode message on 'no' (#4069)

This commit is contained in:
Emil Suleymanov 2022-11-10 12:45:18 +01:00 committed by GitHub
parent 14e9e910de
commit 1172a7e781
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 15 deletions

View file

@ -82,7 +82,7 @@ quick_error! {
StripPrefixError(err: StripPrefixError) { from() }
/// Result of a skipped file
Skipped(reason: String) { display("{}", reason) }
Skipped { }
/// Result of a skipped file
InvalidArgument(description: String) { display("{}", description) }
@ -967,9 +967,7 @@ fn copy(sources: &[Source], target: &TargetSlice, options: &Options) -> CopyResu
// When using --no-clobber, we don't want to show
// an error message
Error::NotAllFilesCopied => (),
Error::Skipped(_) => {
show_error!("{}", error);
}
Error::Skipped => (),
_ => {
show_error!("{}", error);
non_fatal_errors = true;
@ -1044,10 +1042,7 @@ impl OverwriteMode {
if prompt_yes!("{}: overwrite {}? ", uucore::util_name(), path.quote()) {
Ok(())
} else {
Err(Error::Skipped(format!(
"Not overwriting {} at user request",
path.quote()
)))
Err(Error::Skipped)
}
}
Self::Clobber(_) => Ok(()),

View file

@ -232,15 +232,11 @@ fn test_cp_arg_interactive() {
let (at, mut ucmd) = at_and_ucmd!();
at.touch("a");
at.touch("b");
// TODO The prompt in GNU cp is different, and it doesn't have the
// response either.
//
// See <https://github.com/uutils/coreutils/issues/4023>.
ucmd.args(&["-i", "a", "b"])
.pipe_in("N\n")
.succeeds()
.no_stdout()
.stderr_is("cp: overwrite 'b'? [y/N]: cp: Not overwriting 'b' at user request\n");
.stderr_is("cp: overwrite 'b'? [y/N]:");
}
#[test]
@ -312,8 +308,7 @@ fn test_cp_arg_no_clobber_twice() {
.arg("--no-clobber")
.arg("source.txt")
.arg("dest.txt")
.succeeds()
.stdout_does_not_contain("Not overwriting");
.succeeds();
assert_eq!(at.read("source.txt"), "some-content");
// Should be empty as the "no-clobber" should keep