diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-12-29 16:36:21 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-12-29 16:36:21 -0400 |
commit | 32919e3eb4ba3c3bc368f9f7b43d15e45d321016 (patch) | |
tree | 32519060fe891dca857bb59a862d46d2e8069ff4 /Annex | |
parent | 3c645368da1c9ee0e963fc60fe2ff9611bed92da (diff) |
don't disable smudge filter while merging
The smudge filter does need to be run, because if the key is in the local
annex already (due to renaming, or a copy of a file added, or a new file
added and its content has already arrived), git merge smudges the file and
this should provide its content.
This does probably mean that in merge conflict resolution, git smudges the
existing file, re-copying all its content to it, and then the file is
deleted. So, not efficient.
Diffstat (limited to 'Annex')
-rw-r--r-- | Annex/AutoMerge.hs | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/Annex/AutoMerge.hs b/Annex/AutoMerge.hs index 246a4858b..57f15e07c 100644 --- a/Annex/AutoMerge.hs +++ b/Annex/AutoMerge.hs @@ -30,7 +30,6 @@ import Annex.VariantFile import qualified Database.Keys import Annex.InodeSentinal import Utility.InodeCache -import Command.Smudge (withSmudgeDisabled) import qualified Data.Set as S import qualified Data.Map as M @@ -50,8 +49,7 @@ autoMergeFrom branch currbranch commitmode = do where go old = ifM isDirect ( mergeDirect currbranch old branch (resolveMerge old branch) commitmode - -- Avoid smudge filter populating files while merging. - , withSmudgeDisabled (Git.Merge.mergeNonInteractive branch commitmode) + , inRepo (Git.Merge.mergeNonInteractive branch commitmode) <||> (resolveMerge old branch <&&> commitResolvedMerge commitmode) ) |