diff options
author | Joey Hess <joey@kitenet.net> | 2012-01-03 00:29:27 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-01-03 00:29:27 -0400 |
commit | ee554542c1f3ee63efe5533267cf9cd1e5c83d52 (patch) | |
tree | c5378041794d4a7faad6316e915cffb804e153d2 | |
parent | 34abd7bca80a8cc012f92d64116014449b1b2392 (diff) |
after is a better name for observe_
-rw-r--r-- | Remote/Git.hs | 8 | ||||
-rw-r--r-- | Remote/Rsync.hs | 2 | ||||
-rw-r--r-- | Utility/Monad.hs | 9 |
3 files changed, 9 insertions, 10 deletions
diff --git a/Remote/Git.hs b/Remote/Git.hs index 2e32ca239..7d034d242 100644 --- a/Remote/Git.hs +++ b/Remote/Git.hs @@ -182,7 +182,7 @@ onLocal r a = do -- No need to update the branch; its data is not used -- for anything onLocal is used to do. Annex.BranchState.disableUpdate - observe_ (liftIO Git.Command.reap) a + liftIO Git.Command.reap `after` a keyUrls :: Git.Repo -> Key -> [String] keyUrls r key = map tourl (annexLocations key) @@ -217,9 +217,9 @@ copyToRemote r key -- run copy from perspective of remote liftIO $ onLocal r $ do ensureInitialized - observe_ Annex.Content.saveState $ - Annex.Content.getViaTmp key $ - rsyncOrCopyFile params keysrc + Annex.Content.saveState `after` + Annex.Content.getViaTmp key + (rsyncOrCopyFile params keysrc) | Git.repoIsSsh r = do keysrc <- inRepo $ gitAnnexLocation key rsyncHelper =<< rsyncParamsRemote r False key keysrc diff --git a/Remote/Rsync.hs b/Remote/Rsync.hs index 1461b96cd..c7b60467c 100644 --- a/Remote/Rsync.hs +++ b/Remote/Rsync.hs @@ -172,7 +172,7 @@ withRsyncScratchDir a = do let tmp = t </> "rsynctmp" </> show pid nuke tmp liftIO $ createDirectoryIfMissing True tmp - observe_ (nuke tmp) (a tmp) + nuke tmp `after` a tmp where nuke d = liftIO $ doesDirectoryExist d >>? removeDirectoryRecursive d diff --git a/Utility/Monad.hs b/Utility/Monad.hs index 7f9c7b1bc..be48072cb 100644 --- a/Utility/Monad.hs +++ b/Utility/Monad.hs @@ -29,14 +29,13 @@ anyM p = liftM isJust . firstM p untilTrue :: (Monad m) => [a] -> (a -> m Bool) -> m Bool untilTrue = flip anyM -{- Runs a monadic action, passing its value to an observer - - before returning it. -} +{- Runs an action, passing its value to an observer before returning it. -} observe :: (Monad m) => (a -> m b) -> m a -> m a observe observer a = do r <- a _ <- observer r return r -{- Like observe, but the observer is not passed the value. -} -observe_ :: (Monad m) => m b -> m a -> m a -observe_ observer = observe (const observer) +{- b `after` a runs first a, then b, and returns the value of a -} +after :: (Monad m) => m b -> m a -> m a +after = observe . const |