force git-annex branch update after fetching remotes

git-annex normally only runs the branch update once per run, for speed, but
since this fetches new remote git-annex tracking branches, they need to be
merged in after that fetch. An earlier call to Remote.byName was causing
the update to run before the fetch sometimes, but it could have been
anything. Just force the update to happen in the right place.
This commit is contained in:
Joey Hess 2011-12-30 16:03:41 -04:00
parent 925b6390aa
commit 5728bb58e0

View file

@ -16,7 +16,6 @@ import qualified Git.Command
import qualified Git.Config import qualified Git.Config
import qualified Git.Ref import qualified Git.Ref
import qualified Git import qualified Git
import qualified Command.Merge
import qualified Data.ByteString.Lazy.Char8 as L import qualified Data.ByteString.Lazy.Char8 as L
@ -39,7 +38,7 @@ seek args = do
] ++ ] ++
[ fetch remote | remote <- remotes ] ++ [ fetch remote | remote <- remotes ] ++
[ mergeRemote remote branch | remote <- remotes ] ++ [ mergeRemote remote branch | remote <- remotes ] ++
[ Command.Merge.start ] ++ [ mergeAnnex ] ++
[ pushLocal branch ] ++ [ pushLocal branch ] ++
[ pushRemote remote branch | remote <- remotes ] [ pushRemote remote branch | remote <- remotes ]
@ -130,3 +129,8 @@ checkRemote remote = do
Git.Config.get ("remote." ++ Remote.name remote ++ ".url") "" Git.Config.get ("remote." ++ Remote.name remote ++ ".url") ""
when (null remoteurl) $ when (null remoteurl) $
error $ "No url is configured for the remote: " ++ Remote.name remote error $ "No url is configured for the remote: " ++ Remote.name remote
mergeAnnex :: CommandStart
mergeAnnex = next $ next $ do
Annex.Branch.forceUpdate
return True