return True
mergeLocal :: [Git.Merge.MergeConfig] -> CurrBranch -> CommandStart
-mergeLocal mergeconfig currbranch@(Just branch, madj) =
+mergeLocal mergeconfig currbranch@(Just _, _) =
go =<< needMerge currbranch
where
go Nothing = stop
go (Just syncbranch) = do
showStart "merge" $ Git.Ref.describe syncbranch
next $ next $ merge currbranch mergeconfig Git.Branch.ManualCommit syncbranch
- syncbranch = syncBranch branch
mergeLocal _ (Nothing, madj) = do
b <- inRepo Git.Branch.currentUnsafe
- ifM (needMerge (b, madj))
+ ifM (isJust <$> needMerge (b, madj))
( do
warning $ "There are no commits yet in the currently checked out branch, so cannot merge any remote changes into it."
next $ next $ return False
-- Returns the branch that should be merged, if any.
needMerge :: CurrBranch -> Annex (Maybe Git.Branch)
needMerge (Nothing, _) = return Nothing
-needMerge (Just branch, madj) = ifM (allM checks)
+needMerge (Just branch, madj) = ifM (allM id checks)
( return (Just syncbranch)
, return Nothing
)