diff options
author | Joey Hess <joey@kitenet.net> | 2013-01-17 21:19:00 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-01-17 21:19:00 -0400 |
commit | 293170d524af06d14f4b8b0ad7c3f092185a3e9b (patch) | |
tree | ccdbe562454c990a10878e336e006c797edc9053 | |
parent | b6aca91f02474aec8359dd5472f4ada929925f98 (diff) |
sync: Automatic merge conflict resolution now stages deleted files.
-rw-r--r-- | Command/Sync.hs | 7 | ||||
-rw-r--r-- | debian/changelog | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/Command/Sync.hs b/Command/Sync.hs index 61ac3802a..50e709a2d 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -223,11 +223,16 @@ resolveMerge = do top <- fromRepo Git.repoPath (fs, cleanup) <- inRepo (LsFiles.unmerged [top]) merged <- all id <$> mapM resolveMerge' fs + void $ liftIO cleanup + + (deleted, cleanup2) <- inRepo (LsFiles.deleted [top]) + Annex.Queue.addCommand "rm" [Params "--quiet -f --"] deleted + void $ liftIO cleanup2 + when merged $ do Annex.Queue.flush void $ inRepo $ Git.Command.runBool "commit" [Param "-m", Param "git-annex automatic merge conflict fix"] - void $ liftIO cleanup return merged resolveMerge' :: LsFiles.Unmerged -> Annex Bool diff --git a/debian/changelog b/debian/changelog index b1a614600..f71a5ab63 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,7 @@ git-annex (3.20130115) UNRELEASED; urgency=low * bugfix: Union merges involving two or more repositories could sometimes result in data from one repository getting lost. This could result in the location log data becoming wrong, and fsck being needed to fix it. + * sync: Automatic merge conflict resolution now stages deleted files. * Depend on git 1.7.7.6 for --no-edit. Closes: #698399 -- Joey Hess <joeyh@debian.org> Mon, 14 Jan 2013 18:35:01 -0400 |