Skip to content

Commit 048cf21

Browse files
committed
FileOps.move(): don't overwrite existing files by default
1 parent 8e20a16 commit 048cf21

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

modules/DependencyControl/FileOps.moon

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class FileOps
3030
renamedDeletionFailed: "The existing file was successfully renamed to '%s', but couldn't be deleted (%s).\n%s"
3131
overwritingFile: "File '%s' already exists, overwriting..."
3232
createdDir: "Created target directory '%s'."
33-
existsNoFile: "Couldn't move file '%s' to '%s' because a %s of the same name is already present."
33+
exists: "Couldn't move file '%s' to '%s' because a %s of the same name is already present."
3434
genericError: "An error occured while moving file '%s' to '%s':\n%s"
3535
createDirError: "Moving '%s' to '%s' failed (%s)."
3636
cantRemove: "Couldn't overwrite file '%s': %s. Attempts at renaming the existing target file failed."
@@ -162,9 +162,11 @@ class FileOps
162162
return false, msgs.copy.genericError\format sourceFullPath, targetFullPath, msg
163163

164164

165-
move: (source, target) ->
165+
move: (source, target, overwrite) ->
166166
mode, err = FileOps.attributes target, "mode"
167167
if mode == "file"
168+
unless overwrite
169+
return false, msg.move.exists\format source, target, mode
168170
FileOps.logger\trace msgs.move.overwritingFile, target
169171
res, _, err = FileOps.remove target
170172
unless res
@@ -183,7 +185,7 @@ class FileOps
183185
FileOps.logger\debug msgs.move.renamedDeletionFailed, junkName, err, msgs.generic.deletionRescheduled
184186

185187
elseif mode -- a directory (or something else) of the same name as the target file is already present
186-
return false, msgs.move.existsNoFile\format source, target, mode
188+
return false, msgs.move.exists\format source, target, mode
187189
elseif mode == nil -- if retrieving the attributes of a file fails, something is probably wrong
188190
return false, msgs.move.genericError\format source, target, err
189191

modules/DependencyControl/Updater.moon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ class UpdateTask extends UpdaterBase
317317
moveErrors = {}
318318
@@logger.indent += 1
319319
for dl in *dlm.downloads
320-
res, err = fileOps.move dl.outfile, dl.targetFile
320+
res, err = fileOps.move dl.outfile, dl.targetFile, true
321321
-- don't immediately error out if moving of a single file failed
322322
-- try to move as many files as possible and let the user handle the rest
323323
if res

0 commit comments

Comments
 (0)