add: add --upgrade,-u for mv command
This commit is contained in:
parent
f82c43f850
commit
9c791f84c1
|
@ -30,6 +30,11 @@ impl Command for UMv {
|
||||||
example: "mv test.txt my/subdirectory",
|
example: "mv test.txt my/subdirectory",
|
||||||
result: None,
|
result: None,
|
||||||
},
|
},
|
||||||
|
Example {
|
||||||
|
description: "Move only if source file is newer than target file",
|
||||||
|
example: "mv -u new/test.txt old/",
|
||||||
|
result: None,
|
||||||
|
},
|
||||||
Example {
|
Example {
|
||||||
description: "Move many files into a directory",
|
description: "Move many files into a directory",
|
||||||
example: "mv *.txt my/subdirectory",
|
example: "mv *.txt my/subdirectory",
|
||||||
|
@ -49,6 +54,11 @@ impl Command for UMv {
|
||||||
.switch("verbose", "explain what is being done.", Some('v'))
|
.switch("verbose", "explain what is being done.", Some('v'))
|
||||||
.switch("progress", "display a progress bar", Some('p'))
|
.switch("progress", "display a progress bar", Some('p'))
|
||||||
.switch("interactive", "prompt before overwriting", Some('i'))
|
.switch("interactive", "prompt before overwriting", Some('i'))
|
||||||
|
.switch(
|
||||||
|
"update",
|
||||||
|
"move and overwite only when the SOURCE file is newer than the destination file or when the destination file is missing",
|
||||||
|
Some('u')
|
||||||
|
)
|
||||||
.switch("no-clobber", "do not overwrite an existing file", Some('n'))
|
.switch("no-clobber", "do not overwrite an existing file", Some('n'))
|
||||||
.rest(
|
.rest(
|
||||||
"paths",
|
"paths",
|
||||||
|
@ -77,6 +87,11 @@ impl Command for UMv {
|
||||||
} else {
|
} else {
|
||||||
uu_mv::OverwriteMode::Force
|
uu_mv::OverwriteMode::Force
|
||||||
};
|
};
|
||||||
|
let update = if call.has_flag(engine_state, stack, "update")? {
|
||||||
|
UpdateMode::ReplaceIfOlder
|
||||||
|
} else {
|
||||||
|
UpdateMode::ReplaceAll
|
||||||
|
};
|
||||||
|
|
||||||
#[allow(deprecated)]
|
#[allow(deprecated)]
|
||||||
let cwd = current_dir(engine_state, stack)?;
|
let cwd = current_dir(engine_state, stack)?;
|
||||||
|
@ -164,7 +179,7 @@ impl Command for UMv {
|
||||||
verbose,
|
verbose,
|
||||||
suffix: String::from("~"),
|
suffix: String::from("~"),
|
||||||
backup: BackupMode::NoBackup,
|
backup: BackupMode::NoBackup,
|
||||||
update: UpdateMode::ReplaceAll,
|
update,
|
||||||
target_dir: None,
|
target_dir: None,
|
||||||
no_target_dir: false,
|
no_target_dir: false,
|
||||||
strip_slashes: false,
|
strip_slashes: false,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user