force fully strict read of journal file again

I was thinking that discardIncompleteAppend would make it strict, since
it looks at the end of the bytestring. But, it's applied lazily..

This probably fixes windows, which was failing:

      git-annex.exe: .git\annex\journal\trust.log: DeleteFile "\\\\?\\C:\\Users\\runneradmin\\.t\\5\\tmprepo22\\.git\\annex\\journal\\trust.log": permission denied (The process cannot access the file because it is being used by another process.)
This commit is contained in:
Joey Hess 2022-07-22 11:36:21 -04:00
parent 27e0108097
commit cbe12b9bc3
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -196,8 +196,8 @@ getJournalFileStale (GetPrivate getprivate) file = do
where
jfile = journalFile file
getfrom d = catchMaybeIO $
discardIncompleteAppend
<$> L.readFile (fromRawFilePath (d P.</> jfile))
discardIncompleteAppend . L.fromStrict
<$> B.readFile (fromRawFilePath (d P.</> jfile))
-- Note that this forces read of the whole lazy bytestring.
discardIncompleteAppend :: L.ByteString -> L.ByteString