Skip to content

Commit 70d4797

Browse files
committed
mv/cp: add --clobber-larger and --clobber-smaller shortcuts
1 parent a75c576 commit 70d4797

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

library/folders/merge_mv.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,18 @@ def parse_args(defaults_override=None):
5050
parser.add_argument(
5151
"--clobber", "--overwrite", action="store_true", help="Shortcut for --file-over-file delete-dest"
5252
)
53+
parser.add_argument(
54+
"--clobber-larger",
55+
"--larger",
56+
action="store_true",
57+
help="Shortcut for --file-over-file 'delete-src-smaller delete-dest'",
58+
)
59+
parser.add_argument(
60+
"--clobber-smaller",
61+
"--smaller",
62+
action="store_true",
63+
help="Shortcut for --file-over-file 'delete-src-larger delete-dest'",
64+
)
5365
arggroups.clobber(parser)
5466

5567
profiles = parser.add_argument_group("File Extension Profiles")
@@ -99,6 +111,18 @@ def parse_args(defaults_override=None):
99111
else:
100112
args.file_over_file = arggroups.file_over_file("delete-dest")
101113

114+
if args.clobber_larger:
115+
if args.file_over_file[0] == "skip-hash":
116+
args.file_over_file = arggroups.file_over_file("skip-smaller delete-dest")
117+
else:
118+
args.file_over_file = arggroups.file_over_file("delete-src-smaller delete-dest")
119+
120+
if args.clobber_smaller:
121+
if args.file_over_file[0] == "skip-hash":
122+
args.file_over_file = arggroups.file_over_file("skip-larger delete-dest")
123+
else:
124+
args.file_over_file = arggroups.file_over_file("delete-src-larger delete-dest")
125+
102126
if args.profiles:
103127
exts = set(args.ext or [])
104128
if DBType.audio in args.profiles:

0 commit comments

Comments
 (0)