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
|
if inannex
|
||||||
then stop
|
then stop
|
||||||
else autoCopies key (<) numcopies $ do
|
else autoCopies key (<) numcopies $ do
|
||||||
showStart "get" file
|
|
||||||
from <- Annex.getState Annex.fromremote
|
from <- Annex.getState Annex.fromremote
|
||||||
case from of
|
case from of
|
||||||
Nothing -> next $ perform key
|
Nothing -> go $ perform key
|
||||||
Just name -> do
|
Just name -> do
|
||||||
-- get --from = copy --from
|
-- get --from = copy --from
|
||||||
src <- Remote.byName name
|
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 -> CommandPerform
|
||||||
perform key = do
|
perform key = do
|
||||||
|
|
|
@ -117,13 +117,17 @@ fromStart src move file key
|
||||||
if ishere then stop else go
|
if ishere then stop else go
|
||||||
where
|
where
|
||||||
go = do
|
go = do
|
||||||
u <- getUUID
|
ok <- fromOk src key
|
||||||
remotes <- Remote.keyPossibilities key
|
if ok
|
||||||
if u == Remote.uuid src || not (any (== src) remotes)
|
then do
|
||||||
then stop
|
|
||||||
else do
|
|
||||||
showMoveAction move file
|
showMoveAction move file
|
||||||
next $ fromPerform src move key
|
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 :: Remote.Remote Annex -> Bool -> Key -> CommandPerform
|
||||||
fromPerform src move key = moveLock move key $ do
|
fromPerform src move key = moveLock move key $ do
|
||||||
ishere <- inAnnex key
|
ishere <- inAnnex key
|
||||||
|
|
Loading…
Add table
Reference in a new issue