improve handling of unmerged git-annex branches in readonly repo
git-annex info was displaying a message that didn't make sense in
context.
In calcRepoSizes, it seems better to return the information from the
git-annex branch, rather than giving up. Especially since balanced
preferred content uses it, and we can't just give up evaluating a
preferred content expression if git-annex is to be usable in such a
readonly repo.
Commit 6d7ecd9e5d
nobly wanted git-annex
to behave the same with such unmerged branches as it does when it can
merge them. But for the purposes of preferred content, it seems to me
there's a sense that such an unmerged branch is the same as a remote we
have not pulled from. The balanced preferred content will either way
operate under outdated information, and so make not the best choices.
This commit is contained in:
parent
5c35b3d579
commit
467d80101a
7 changed files with 46 additions and 27 deletions
|
@ -8,6 +8,7 @@
|
|||
module Annex.RepoSize where
|
||||
|
||||
import Annex.Common
|
||||
import Annex.Branch (UnmergedBranches(..))
|
||||
import Types.RepoSize
|
||||
import Logs.Location
|
||||
import Logs.UUID
|
||||
|
@ -24,10 +25,12 @@ calcRepoSizes :: Annex (M.Map UUID RepoSize)
|
|||
calcRepoSizes = do
|
||||
knownuuids <- M.keys <$> uuidDescMap
|
||||
let startmap = M.fromList $ map (\u -> (u, RepoSize 0)) knownuuids
|
||||
overLocationLogs startmap $ \k locs m ->
|
||||
return $
|
||||
let sz = fromMaybe 0 $ fromKey keySize k
|
||||
in foldl' (flip $ M.alter $ addksz sz) m locs
|
||||
overLocationLogs startmap accum >>= \case
|
||||
UnmergedBranches m -> return m
|
||||
NoUnmergedBranches m -> return m
|
||||
where
|
||||
addksz ksz (Just (RepoSize sz)) = Just $ RepoSize $ sz + ksz
|
||||
addksz ksz Nothing = Just $ RepoSize ksz
|
||||
accum k locs m = return $
|
||||
let sz = fromMaybe 0 $ fromKey keySize k
|
||||
in foldl' (flip $ M.alter $ addksz sz) m locs
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue