Fix nasty reversion in the last release that broke sync --content's handling of many preferred content expressions.

The type checker should have noticed this, but the changes to mapM
that make it accept any Traversable hid the fact that it was not being
passed a list at all. Thus, what should have returned an empty list most
of the time instead returned [""] which was treated as the name of the
associated file, with disasterout consequences.

When I have time, I should add a test case checking what sync --content
drops. I should also consider replacing mapM with one re-specialized to
lists.
This commit is contained in:
Joey Hess 2016-01-26 14:28:43 -04:00
parent 3ddfa7bf1d
commit 039e83ed5d
Failed to extract signature
5 changed files with 20 additions and 2 deletions

View file

@ -86,7 +86,7 @@ performNew file key filemodified = do
repopulate obj
| filemodified = modifyContent obj $ do
g <- Annex.gitRepo
fs <- mapM (`fromTopFilePath` g)
fs <- map (`fromTopFilePath` g)
<$> Database.Keys.getAssociatedFiles key
mfile <- firstM (isUnmodified key) fs
liftIO $ nukeFile obj