minor optimisation

Avoid re-writing the file when the journal directory did not
exist.
This commit is contained in:
Joey Hess 2022-07-18 13:49:17 -04:00
parent 4b520e0683
commit 1c40b927aa
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -84,13 +84,12 @@ setJournalFile _jl ru file content = withOtherTmp $ \tmp -> do
-- journal file is written atomically
let jfile = journalFile file
let tmpfile = tmp P.</> jfile
let write = liftIO $ do
withFile (fromRawFilePath tmpfile) WriteMode $ \h ->
writeJournalHandle h content
moveFile tmpfile (jd P.</> jfile)
liftIO $ withFile (fromRawFilePath tmpfile) WriteMode $ \h ->
writeJournalHandle h content
let mv = liftIO $ moveFile tmpfile (jd P.</> jfile)
-- avoid overhead of creating the journal directory when it already
-- exists
write `catchIO` (const (createAnnexDirectory jd >> write))
mv `catchIO` (const (createAnnexDirectory jd >> mv))
data JournalledContent
= NoJournalledContent