assistant: update export db after mergeing git-annex branch changes
Needed so that the assistant can download from exports. updateExportTreeFromLog is normally only run one time, but needs to be run repeatedly during the lifetime of the assistant. This commit was sponsored by Ethan Aubin on Patreon.
This commit is contained in:
parent
129418615b
commit
82a2d19af1
2 changed files with 12 additions and 1 deletions
|
@ -35,6 +35,7 @@ import Assistant.TransferQueue
|
||||||
import Assistant.RepoProblem
|
import Assistant.RepoProblem
|
||||||
import Assistant.Commits
|
import Assistant.Commits
|
||||||
import Types.Transfer
|
import Types.Transfer
|
||||||
|
import Database.Export
|
||||||
|
|
||||||
import Data.Time.Clock
|
import Data.Time.Clock
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
|
@ -218,6 +219,8 @@ manualPull currentbranch remotes = do
|
||||||
forM_ normalremotes $ \r ->
|
forM_ normalremotes $ \r ->
|
||||||
liftAnnex $ Command.Sync.mergeRemote r
|
liftAnnex $ Command.Sync.mergeRemote r
|
||||||
currentbranch Command.Sync.mergeConfig def
|
currentbranch Command.Sync.mergeConfig def
|
||||||
|
when haddiverged $
|
||||||
|
updateExportTreeFromLogAll
|
||||||
return (catMaybes failed, haddiverged)
|
return (catMaybes failed, haddiverged)
|
||||||
where
|
where
|
||||||
wantpull gc = remoteAnnexPull gc
|
wantpull gc = remoteAnnexPull gc
|
||||||
|
@ -264,3 +267,9 @@ changeSyncFlag r enabled = do
|
||||||
void Remote.remoteListRefresh
|
void Remote.remoteListRefresh
|
||||||
where
|
where
|
||||||
key = Config.remoteConfig (Remote.repo r) "sync"
|
key = Config.remoteConfig (Remote.repo r) "sync"
|
||||||
|
|
||||||
|
updateExportTreeFromLogAll :: Assistant ()
|
||||||
|
updateExportTreeFromLogAll = do
|
||||||
|
rs <- exportRemotes <$> getDaemonStatus
|
||||||
|
forM_ rs $ \r -> liftAnnex $
|
||||||
|
openDb (Remote.uuid r) >>= updateExportTreeFromLog
|
||||||
|
|
|
@ -10,6 +10,7 @@ module Assistant.Threads.Merger where
|
||||||
import Assistant.Common
|
import Assistant.Common
|
||||||
import Assistant.TransferQueue
|
import Assistant.TransferQueue
|
||||||
import Assistant.BranchChange
|
import Assistant.BranchChange
|
||||||
|
import Assistant.Sync
|
||||||
import Utility.DirWatcher
|
import Utility.DirWatcher
|
||||||
import Utility.DirWatcher.Types
|
import Utility.DirWatcher.Types
|
||||||
import qualified Annex.Branch
|
import qualified Annex.Branch
|
||||||
|
@ -62,7 +63,8 @@ onChange file
|
||||||
| isAnnexBranch file = do
|
| isAnnexBranch file = do
|
||||||
branchChanged
|
branchChanged
|
||||||
diverged <- liftAnnex Annex.Branch.forceUpdate
|
diverged <- liftAnnex Annex.Branch.forceUpdate
|
||||||
when diverged $
|
when diverged $ do
|
||||||
|
updateExportTreeFromLogAll
|
||||||
queueDeferredDownloads "retrying deferred download" Later
|
queueDeferredDownloads "retrying deferred download" Later
|
||||||
| otherwise = mergecurrent
|
| otherwise = mergecurrent
|
||||||
where
|
where
|
||||||
|
|
Loading…
Reference in a new issue