From 3eb51ee929c75376d004341f41aa38a1488558a3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 4 Apr 2023 14:25:01 -0400 Subject: [PATCH] readFileStrict to avoid laziness bug Fix laziness bug introduced in last release that breaks use of --unlock-present and --hide-missing adjusted branches. Since there is a writeFile of the same file immediately after readFile, it may still have the file open for read (or may have happened to read it already and closed it). I was not able to reproduce the problem in brief testing, but this seems obvious. Sponsored-by: Luke Shumaker on Patreona --- Annex/AdjustedBranch.hs | 6 +++--- CHANGELOG | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Annex/AdjustedBranch.hs b/Annex/AdjustedBranch.hs index 5cef6ec29c..66d633d699 100644 --- a/Annex/AdjustedBranch.hs +++ b/Annex/AdjustedBranch.hs @@ -253,8 +253,8 @@ updateAdjustedBranch adj (AdjBranch currbranch) origbranch -- has that have not yet been propigated back to the -- origbranch. _ <- propigateAdjustedCommits' origbranch adj commitlck - - origheadfile <- inRepo $ readFile . Git.Ref.headFile + + origheadfile <- inRepo $ readFileStrict . Git.Ref.headFile -- Git normally won't do anything when asked to check -- out the currently checked out branch, even when its @@ -279,7 +279,7 @@ updateAdjustedBranch adj (AdjBranch currbranch) origbranch unless ok $ case newheadfile of Nothing -> noop Just v -> preventCommits $ \_commitlck -> inRepo $ \r -> do - v' <- readFile (Git.Ref.headFile r) + v' <- readFileStrict (Git.Ref.headFile r) when (v == v') $ writeFile (Git.Ref.headFile r) origheadfile diff --git a/CHANGELOG b/CHANGELOG index ff8ffdeb2a..2304c747c3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,8 @@ git-annex (10.20230330) UNRELEASED; urgency=medium * git-annex.cabal: Prevent building with unix-compat 0.7 which removed System.PosixCompat.User. * Sped up sqlite inserts 2x when built with persistent 2.14.5.0 + * Fix laziness bug introduced in last release that breaks use + of --unlock-present and --hide-missing adjusted branches. -- Joey Hess Fri, 31 Mar 2023 12:48:54 -0400