avoid error message when doing get --from on file not present on remote
This commit is contained in:
parent
c50a5fbeb4
commit
1b90918cec
2 changed files with 18 additions and 8 deletions
|
@ -27,14 +27,20 @@ start numcopies file (key, _) = do
|
|||
if inannex
|
||||
then stop
|
||||
else autoCopies key (<) numcopies $ do
|
||||
showStart "get" file
|
||||
from <- Annex.getState Annex.fromremote
|
||||
case from of
|
||||
Nothing -> next $ perform key
|
||||
Nothing -> go $ perform key
|
||||
Just name -> do
|
||||
-- get --from = copy --from
|
||||
src <- Remote.byName name
|
||||
next $ Command.Move.fromPerform src False key
|
||||
ok <- Command.Move.fromOk src key
|
||||
if ok
|
||||
then go $ Command.Move.fromPerform src False key
|
||||
else stop
|
||||
where
|
||||
go a = do
|
||||
showStart "get" file
|
||||
next a
|
||||
|
||||
perform :: Key -> CommandPerform
|
||||
perform key = do
|
||||
|
|
|
@ -117,13 +117,17 @@ fromStart src move file key
|
|||
if ishere then stop else go
|
||||
where
|
||||
go = do
|
||||
u <- getUUID
|
||||
remotes <- Remote.keyPossibilities key
|
||||
if u == Remote.uuid src || not (any (== src) remotes)
|
||||
then stop
|
||||
else do
|
||||
ok <- fromOk src key
|
||||
if ok
|
||||
then do
|
||||
showMoveAction move file
|
||||
next $ fromPerform src move key
|
||||
else stop
|
||||
fromOk :: Remote.Remote Annex -> Key -> Annex Bool
|
||||
fromOk src key = do
|
||||
u <- getUUID
|
||||
remotes <- Remote.keyPossibilities key
|
||||
return $ u /= Remote.uuid src && any (== src) remotes
|
||||
fromPerform :: Remote.Remote Annex -> Bool -> Key -> CommandPerform
|
||||
fromPerform src move key = moveLock move key $ do
|
||||
ishere <- inAnnex key
|
||||
|
|
Loading…
Add table
Reference in a new issue