fetch from removable drive when adding
When adding a repo from a removable drive that already exists, fetch from it before showing the edit form, so it will have the existing configuration of that repo.
This commit is contained in:
parent
de0cba18f6
commit
7089e282b5
1 changed files with 10 additions and 9 deletions
|
@ -208,16 +208,17 @@ postNewRepositoryR = page "Add another repository" (Just Configuration) $ do
|
||||||
mainrepo <- fromJust . relDir <$> liftH getYesod
|
mainrepo <- fromJust . relDir <$> liftH getYesod
|
||||||
$(widgetFile "configurators/newrepository/combine")
|
$(widgetFile "configurators/newrepository/combine")
|
||||||
|
|
||||||
|
{- Ensure that a remote's description, group, etc are available by
|
||||||
|
- immediately pulling from it. Also spawns a sync to push to it as well. -}
|
||||||
|
immediateSyncRemote :: Remote -> Assistant ()
|
||||||
|
immediateSyncRemote r = do
|
||||||
|
currentbranch <- liftAnnex (inRepo Git.Branch.current)
|
||||||
|
void $ manualPull currentbranch [r]
|
||||||
|
syncRemote r
|
||||||
|
|
||||||
getCombineRepositoryR :: FilePath -> UUID -> Handler Html
|
getCombineRepositoryR :: FilePath -> UUID -> Handler Html
|
||||||
getCombineRepositoryR newrepopath newrepouuid = do
|
getCombineRepositoryR newrepopath newrepouuid = do
|
||||||
r <- combineRepos newrepopath remotename
|
liftAssistant . immediateSyncRemote =<< combineRepos newrepopath remotename
|
||||||
liftAssistant $ do
|
|
||||||
-- Manually pull from the remote, to ensure its description
|
|
||||||
-- and group etc are available before editing.
|
|
||||||
currentbranch <- liftAnnex (inRepo Git.Branch.current)
|
|
||||||
void $ manualPull currentbranch [r]
|
|
||||||
-- Sync with the remote to push to it as well.
|
|
||||||
syncRemote r
|
|
||||||
redirect $ EditRepositoryR $ RepoUUID newrepouuid
|
redirect $ EditRepositoryR $ RepoUUID newrepouuid
|
||||||
where
|
where
|
||||||
remotename = takeFileName newrepopath
|
remotename = takeFileName newrepopath
|
||||||
|
@ -339,7 +340,7 @@ getFinishAddDriveR drive = go
|
||||||
(u, r) <- a isnew
|
(u, r) <- a isnew
|
||||||
when isnew $
|
when isnew $
|
||||||
liftAnnex $ setStandardGroup u TransferGroup
|
liftAnnex $ setStandardGroup u TransferGroup
|
||||||
liftAssistant $ syncRemote r
|
liftAssistant $ immediateSyncRemote r
|
||||||
redirect $ EditNewRepositoryR u
|
redirect $ EditNewRepositoryR u
|
||||||
mountpoint = T.unpack (mountPoint drive)
|
mountpoint = T.unpack (mountPoint drive)
|
||||||
dir = removableDriveRepository drive
|
dir = removableDriveRepository drive
|
||||||
|
|
Loading…
Reference in a new issue