copy --auto
Only does copy when numcopies is not yet satisfied.
This commit is contained in:
parent
7b90cb72fc
commit
a0d3a343b5
3 changed files with 16 additions and 4 deletions
|
@ -9,11 +9,20 @@ module Command.Copy where
|
|||
|
||||
import Command
|
||||
import qualified Command.Move
|
||||
import Utility
|
||||
|
||||
command :: [Command]
|
||||
command = [repoCommand "copy" paramPaths seek
|
||||
"copy content of files to/from another repository"]
|
||||
|
||||
-- A copy is just a move that does not delete the source file.
|
||||
seek :: [CommandSeek]
|
||||
seek = [withFilesInGit $ Command.Move.start False]
|
||||
seek = [withNumCopies start]
|
||||
|
||||
-- A copy is just a move that does not delete the source file.
|
||||
-- However, --auto mode avoids unnecessary copies.
|
||||
start :: CommandStartAttrFile
|
||||
start (file, attr) = isAnnexed file $ \(key, _) ->
|
||||
autoCopies key (<) numcopies $
|
||||
Command.Move.start False file
|
||||
where
|
||||
numcopies = readMaybe attr
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue