From 972f36a9e06a72fe12549d27059794eb86a794a3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 30 Oct 2012 19:33:27 -0400 Subject: assistant: Fix syncing local drives. Amoung other things, this makes it immediately sync files from a removable drive when it's added. --- Assistant/Sync.hs | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'Assistant') diff --git a/Assistant/Sync.hs b/Assistant/Sync.hs index 1e94335ef..ccc359672 100644 --- a/Assistant/Sync.hs +++ b/Assistant/Sync.hs @@ -43,18 +43,21 @@ reconnectRemotes notifypushes rs = void $ do =<< liftAnnex (inRepo Git.Branch.current) addScanRemotes diverged rs return ok - where - (gitremotes, _specialremotes) = - partition (Git.repoIsUrl . Remote.repo) rs - sync (Just branch) = do - diverged <- snd <$> manualPull (Just branch) gitremotes - now <- liftIO getCurrentTime - ok <- pushToRemotes now notifypushes gitremotes - return (ok, diverged) - {- No local branch exists yet, but we can try pulling. -} - sync Nothing = do - diverged <- snd <$> manualPull Nothing gitremotes - return (True, diverged) + where + gitremotes = filter (notspecialremote . Remote.repo) rs + notspecialremote r + | Git.repoIsUrl r = True + | Git.repoIsLocal r = True + | otherwise = False + sync (Just branch) = do + diverged <- snd <$> manualPull (Just branch) gitremotes + now <- liftIO getCurrentTime + ok <- pushToRemotes now notifypushes gitremotes + return (ok, diverged) + {- No local branch exists yet, but we can try pulling. -} + sync Nothing = do + diverged <- snd <$> manualPull Nothing gitremotes + return (True, diverged) {- Updates the local sync branch, then pushes it to all remotes, in - parallel, along with the git-annex branch. This is the same -- cgit v1.2.3