(Right Nothing, Right Nothing) -> cannotresolve
-- Other side deleted the file, our side is an annexed
-- file. Make it a variant.
- (Right (Just keyUs), Left ()) -> resolveby [keyUs] $
+ (Right (Just keyUs), Left ()) -> resolveby [keyUs] $ do
+ unless inoverlay $
+ liftIO $ nukeFile file
makevariantannexlink keyUs LsFiles.valThem
-- Our side deleted the file, other side is an annexed
-- file. Make it a variant.
- (Left (), Right (Just keyThem)) -> resolveby [keyThem] $
+ (Left (), Right (Just keyThem)) -> resolveby [keyThem] $ do
+ unless inoverlay $
+ liftIO $ nukeFile file
makevariantannexlink keyThem LsFiles.valThem
-- One side deleted the file, other side is not an annexed
-- file; cannot resolve.
behavior that git-annex has had for a long time.
* Retry transfers to exporttree=yes remotes same as for other remotes.
* import: Retry downloads that fail, same as is done for downloads generally.
+ * resolvemerge: Improve cleanup of files that were deleted by one side of
+ a conflicted merge, and modified by the other side.
-- Joey Hess <id@joeyh.name> Fri, 14 Aug 2020 14:57:45 -0400
to detect it and handle it specially.
--[[Joey]]
+
+> Fixed the file not being checked in. In fact, it needed to be cleaned up.
+>
+> That avoids part of the problem. To avoid the surprising rename,
+> git-annex sync should set merge.directoryRenames=false when
+> merge.directoryRenames is not configured, unless automatic merge conflict
+> resolution is disabled. --[[Joey]]