summaryrefslogtreecommitdiff
path: root/Annex/AutoMerge.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Annex/AutoMerge.hs')
-rw-r--r--Annex/AutoMerge.hs11
1 files changed, 9 insertions, 2 deletions
diff --git a/Annex/AutoMerge.hs b/Annex/AutoMerge.hs
index 26f58a98e..06efdb7f5 100644
--- a/Annex/AutoMerge.hs
+++ b/Annex/AutoMerge.hs
@@ -52,8 +52,15 @@ autoMergeFrom branch currbranch mergeconfig commitmode = do
where
go old = ifM isDirect
( mergeDirect currbranch old branch (resolveMerge old branch False) mergeconfig commitmode
- , inRepo (Git.Merge.merge branch mergeconfig commitmode)
- <||> (resolveMerge old branch False <&&> commitResolvedMerge commitmode)
+ , do
+ r <- inRepo (Git.Merge.merge branch mergeconfig commitmode)
+ <||> (resolveMerge old branch False <&&> commitResolvedMerge commitmode)
+ -- Merging can cause new associated files to appear
+ -- and the smudge filter will add them to the database.
+ -- To ensure that this process sees those changes,
+ -- close the database if it was open.
+ Database.Keys.closeDb
+ return r
)
{- Resolves a conflicted merge. It's important that any conflicts be