update nushell to use coreutils v0.1.0 crates (#15896)

This commit is contained in:
Darren Schroeder
2025-06-05 15:59:34 -05:00
committed by GitHub
parent 21d949207f
commit b886fd364c
6 changed files with 226 additions and 60 deletions

View File

@ -119,9 +119,9 @@ impl Command for UCp {
) -> Result<PipelineData, ShellError> {
let interactive = call.has_flag(engine_state, stack, "interactive")?;
let (update, copy_mode) = if call.has_flag(engine_state, stack, "update")? {
(UpdateMode::ReplaceIfOlder, CopyMode::Update)
(UpdateMode::IfOlder, CopyMode::Update)
} else {
(UpdateMode::ReplaceAll, CopyMode::Copy)
(UpdateMode::All, CopyMode::Copy)
};
let force = call.has_flag(engine_state, stack, "force")?;
@ -252,7 +252,7 @@ impl Command for UCp {
dereference: !recursive,
progress_bar: progress,
attributes_only: false,
backup: BackupMode::NoBackup,
backup: BackupMode::None,
copy_contents: false,
cli_dereference: false,
copy_mode,
@ -264,6 +264,8 @@ impl Command for UCp {
backup_suffix: String::from("~"),
target_dir: None,
update,
set_selinux_context: false,
context: None,
};
if let Err(error) = uu_cp::copy(&sources, &target_path, &options) {

View File

@ -74,8 +74,16 @@ impl Command for UMkdir {
});
}
let config = uu_mkdir::Config {
recursive: IS_RECURSIVE,
mode: get_mode(),
verbose: is_verbose,
set_selinux_context: false,
context: None,
};
for dir in directories {
if let Err(error) = mkdir(&dir, IS_RECURSIVE, get_mode(), is_verbose) {
if let Err(error) = mkdir(&dir, &config) {
return Err(ShellError::GenericError {
error: format!("{}", error),
msg: format!("{}", error),

View File

@ -95,9 +95,9 @@ impl Command for UMv {
uu_mv::OverwriteMode::Force
};
let update = if call.has_flag(engine_state, stack, "update")? {
UpdateMode::ReplaceIfOlder
UpdateMode::IfOlder
} else {
UpdateMode::ReplaceAll
UpdateMode::All
};
#[allow(deprecated)]
@ -186,7 +186,7 @@ impl Command for UMv {
progress_bar: progress,
verbose,
suffix: String::from("~"),
backup: BackupMode::NoBackup,
backup: BackupMode::None,
update,
target_dir: None,
no_target_dir: false,