--branch, stage 2
Show branch:file that is being operated on. I had to make ActionItem a type and not a type class because withKeyOptions' passed two different types of values when using the type class, and I could not get the type checker to accept that.
This commit is contained in:
parent
847944e6b1
commit
d13194b230
15 changed files with 145 additions and 102 deletions
|
@ -47,25 +47,27 @@ seek o = allowConcurrentOutput $
|
|||
(mirrorFiles o)
|
||||
|
||||
start :: MirrorOptions -> FilePath -> Key -> CommandStart
|
||||
start o file = startKey o (Just file)
|
||||
start o file k = startKey o afile k (mkActionItem afile)
|
||||
where
|
||||
afile = Just file
|
||||
|
||||
startKey :: MirrorOptions -> Maybe FilePath -> Key -> CommandStart
|
||||
startKey o afile key = case fromToOptions o of
|
||||
startKey :: MirrorOptions -> Maybe FilePath -> Key -> ActionItem -> CommandStart
|
||||
startKey o afile key ai = case fromToOptions o of
|
||||
ToRemote r -> ifM (inAnnex key)
|
||||
( Command.Move.toStart False afile key =<< getParsed r
|
||||
( Command.Move.toStart False afile key ai =<< getParsed r
|
||||
, do
|
||||
numcopies <- getnumcopies
|
||||
Command.Drop.startRemote afile numcopies key =<< getParsed r
|
||||
Command.Drop.startRemote afile ai numcopies key =<< getParsed r
|
||||
)
|
||||
FromRemote r -> do
|
||||
haskey <- flip Remote.hasKey key =<< getParsed r
|
||||
case haskey of
|
||||
Left _ -> stop
|
||||
Right True -> Command.Get.start' (return True) Nothing key afile
|
||||
Right True -> Command.Get.start' (return True) Nothing key afile ai
|
||||
Right False -> ifM (inAnnex key)
|
||||
( do
|
||||
numcopies <- getnumcopies
|
||||
Command.Drop.startLocal afile numcopies key []
|
||||
Command.Drop.startLocal afile ai numcopies key []
|
||||
, stop
|
||||
)
|
||||
where
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue