* sim: New command, can be used to simulate networks of repositories
and see how preferred content and other configuration makes file
content flow through it.
+ * Fix bug that prevented anything being stored in an empty
+ repository whose preferred content expression uses sizebalanced.
-- Joey Hess <id@joeyh.name> Tue, 03 Sep 2024 12:38:42 -0400
filterCandidatesFullySizeBalanced maxsizes sizemap n key candidates = do
currentlocs <- S.fromList <$> loggedLocations key
let keysize = fromMaybe 0 (fromKey keySize key)
- let go u = case (M.lookup u maxsizes, M.lookup u sizemap, u `S.member` currentlocs) of
- (Just maxsize, Just reposize, inrepo)
+ let go u = case (M.lookup u maxsizes, fromMaybe (RepoSize 0) (M.lookup u sizemap), u `S.member` currentlocs) of
+ (Just maxsize, reposize, inrepo)
| repoHasSpace keysize inrepo reposize maxsize ->
proportionfree keysize inrepo u reposize maxsize
| otherwise -> Nothing
--- /dev/null
+When using sizebalanced preferred content, a `git-annex copy --auto` to a
+repository that is currently empty will not fill it.
+
+It seems that getLiveRepoSizes returns a map that does not contain the
+repo's UUID, and filterCandidatesFullySizeBalanced filters out repos that
+are not in the map.
+--[[Joey]]
+
+> [[fixed|done]] --[[Joey]]