Merge kite:tmp/git-annex

This commit is contained in:
Joey Hess 2016-12-05 12:15:48 -04:00
commit b0978b0196
No known key found for this signature in database
GPG key ID: C910D9222512E3C7
2 changed files with 14 additions and 9 deletions

View file

@ -20,16 +20,18 @@ import Network.URI
cmd :: Command cmd :: Command
cmd = notDirect $ notBareRepo $ cmd = notDirect $ notBareRepo $
command "fromkey" SectionPlumbing "adds a file using a specific key" command "fromkey" SectionPlumbing "adds a file using a specific key"
(paramPair paramKey paramPath) (paramRepeating (paramPair paramKey paramPath))
(withParams seek) (withParams seek)
seek :: CmdParams -> CommandSeek seek :: CmdParams -> CommandSeek
seek [] = do
withNothing startMass []
seek ps = do seek ps = do
force <- Annex.getState Annex.force force <- Annex.getState Annex.force
withWords (start force) ps withPairs (start force) ps
start :: Bool -> [String] -> CommandStart start :: Bool -> (String, FilePath) -> CommandStart
start force (keyname:file:[]) = do start force (keyname, file) = do
let key = mkKey keyname let key = mkKey keyname
unless force $ do unless force $ do
inbackend <- inAnnex key inbackend <- inAnnex key
@ -37,10 +39,11 @@ start force (keyname:file:[]) = do
"key ("++ keyname ++") is not present in backend (use --force to override this sanity check)" "key ("++ keyname ++") is not present in backend (use --force to override this sanity check)"
showStart "fromkey" file showStart "fromkey" file
next $ perform key file next $ perform key file
start _ [] = do
startMass :: CommandStart
startMass = do
showStart "fromkey" "stdin" showStart "fromkey" "stdin"
next massAdd next massAdd
start _ _ = giveup "specify a key and a dest file"
massAdd :: CommandPerform massAdd :: CommandPerform
massAdd = go True =<< map (separate (== ' ')) . lines <$> liftIO getContents massAdd = go True =<< map (separate (== ' ')) . lines <$> liftIO getContents

View file

@ -4,14 +4,16 @@ git-annex fromkey - adds a file using a specific key
# SYNOPSIS # SYNOPSIS
git annex fromkey `[key file]` git annex fromkey `[key file ...]`
# DESCRIPTION # DESCRIPTION
This plumbing-level command can be used to manually set up a file This plumbing-level command can be used to manually set up a file
in the git repository to link to a specified key. in the git repository to link to a specified key.
If the key and file are not specified on the command line, they are Multiple pairs of file and key can be given in a single command line.
If no key and file pair are specified on the command line, they are
instead read from stdin. Any number of lines can be provided in this instead read from stdin. Any number of lines can be provided in this
mode, each containing a key and filename, separated by a single space. mode, each containing a key and filename, separated by a single space.