Prevent mv panic (#6158)

Signed-off-by: nibon7 <nibon7@163.com>
This commit is contained in:
nibon7 2022-07-28 13:15:02 +08:00 committed by GitHub
parent e049ca8ebf
commit 2ea209bcc0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -84,7 +84,7 @@ impl Command for Mv {
let ctrlc = engine_state.ctrlc.clone();
let path = current_dir(engine_state, stack).expect("Failed current_dir");
let path = current_dir(engine_state, stack)?;
let span = call.head;
@ -141,7 +141,7 @@ impl Command for Mv {
let err = ShellError::GenericError(
format!(
"Not possible to move {:?} to itself",
filename.file_name().expect("Invalid file name")
filename.file_name().unwrap_or(filename.as_os_str())
),
"cannot move to itself".into(),
Some(spanned_destination.span),
@ -178,18 +178,17 @@ impl Command for Mv {
if let Err(error) = result {
Some(Value::Error { error })
} else if verbose {
let val = if result.expect("Error value when unwrapping mv result") {
format!(
let val = match result {
Ok(true) => format!(
"moved {:} to {:}",
entry.to_string_lossy(),
destination.to_string_lossy()
)
} else {
format!(
),
_ => format!(
"{:} not moved to {:}",
entry.to_string_lossy(),
destination.to_string_lossy()
)
),
};
Some(Value::String { val, span })
} else {