summaryrefslogtreecommitdiff
path: root/Command/TransferKey.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-08-20 15:46:35 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-08-20 15:46:35 -0400
commit856f2f21c654ac9ac87554b9bb0e59b4ba595b10 (patch)
treeacc1557ab3f4e2fed27ea97e2e29c65f3e48b423 /Command/TransferKey.hs
parentda79efe0dfa97f3cb9e983e54cd1541695b5a39a (diff)
mirror: New command, makes two repositories contain the same set of files.
This is a simple approach for setting up a mirroring repository. It will work with any type of remotes. Mirror --from is more expensive than mirror --to in general. OTOH, mirror --from will get the file from any remote that has it, not only the named mirror remote. And if the named mirror remote is not the fastest available remote with a file, that can speed things up. It would be possible to make the assistant or watch command do a more dynamic mirroring, that didn't need to scan every time.
Diffstat (limited to 'Command/TransferKey.hs')
-rw-r--r--Command/TransferKey.hs12
1 files changed, 6 insertions, 6 deletions
diff --git a/Command/TransferKey.hs b/Command/TransferKey.hs
index 849cbc12b..3270ad8f7 100644
--- a/Command/TransferKey.hs
+++ b/Command/TransferKey.hs
@@ -15,23 +15,23 @@ import Logs.Location
import Logs.Transfer
import qualified Remote
import Types.Remote
-import qualified Command.Move
+import GitAnnex.Options
import qualified Option
def :: [Command]
-def = [withOptions options $
+def = [withOptions transferKeyOptions $
noCommit $ command "transferkey" paramKey seek SectionPlumbing
"transfers a key from or to a remote"]
-options :: [Option]
-options = [fileOption, Command.Move.fromOption, Command.Move.toOption]
+transferKeyOptions :: [Option]
+transferKeyOptions = fileOption : fromToOptions
fileOption :: Option
fileOption = Option.field [] "file" paramFile "the associated file"
seek :: [CommandSeek]
-seek = [withField Command.Move.toOption Remote.byNameWithUUID $ \to ->
- withField Command.Move.fromOption Remote.byNameWithUUID $ \from ->
+seek = [withField toOption Remote.byNameWithUUID $ \to ->
+ withField fromOption Remote.byNameWithUUID $ \from ->
withField fileOption return $ \file ->
withKeys $ start to from file]