summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-06-07 12:53:35 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-06-07 12:53:35 -0400
commite4993c590109f52291a7ce9790e4dd1893d9e368 (patch)
treef8185357bd786a4e9c6674f5f71f9ea16f44e856
parentdb0d798180cb076b9b549bc07344cab70cda5ec0 (diff)
Fix bad automatic merge conflict resolution between an annexed file and a directory with the same name when in an adjusted branch.
When running in an overlay work tree, all unchanged files show as deleted, so this code that stages deletions should not run.
-rw-r--r--Annex/AutoMerge.hs2
-rw-r--r--CHANGELOG2
2 files changed, 3 insertions, 1 deletions
diff --git a/Annex/AutoMerge.hs b/Annex/AutoMerge.hs
index 06efdb7f5..7f982e515 100644
--- a/Annex/AutoMerge.hs
+++ b/Annex/AutoMerge.hs
@@ -121,7 +121,7 @@ resolveMerge us them inoverlay = do
let merged = not (null mergedfs')
void $ liftIO cleanup
- unlessM isDirect $ do
+ unlessM (pure inoverlay <||> isDirect) $ do
(deleted, cleanup2) <- inRepo (LsFiles.deleted [top])
unless (null deleted) $
Annex.Queue.addCommand "rm"
diff --git a/CHANGELOG b/CHANGELOG
index 2efc4eb24..79f07ba61 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -20,6 +20,8 @@ git-annex (6.20160528) UNRELEASED; urgency=medium
* list: Do not include dead repositories.
* move --to: Better behavior when system is completely out of disk space;
drop content from disk before writing location log.
+ * Fix bad automatic merge conflict resolution between an annexed file
+ and a directory with the same name when in an adjusted branch.
-- Joey Hess <id@joeyh.name> Fri, 27 May 2016 13:12:48 -0400