show message when doing possibly expensive from scratch reposize calculation

This commit is contained in:
Joey Hess 2024-08-15 12:40:48 -04:00
parent c200523bac
commit c376b1bd7e
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 11 additions and 0 deletions

View file

@ -5,6 +5,8 @@
- Licensed under the GNU AGPL version 3 or higher. - Licensed under the GNU AGPL version 3 or higher.
-} -}
{-# LANGUAGE OverloadedStrings #-}
module Annex.RepoSize ( module Annex.RepoSize (
getRepoSizes, getRepoSizes,
) where ) where
@ -43,6 +45,7 @@ updateRepoSizes = bracket Db.openDb Db.closeDb $ \h -> do
calculatefromscratch h >>= set calculatefromscratch h >>= set
where where
calculatefromscratch h = do calculatefromscratch h = do
showSideAction "calculating repository sizes"
(sizemap, branchsha) <- calcBranchRepoSizes (sizemap, branchsha) <- calcBranchRepoSizes
liftIO $ Db.setRepoSizes h sizemap branchsha liftIO $ Db.setRepoSizes h sizemap branchsha
journalledRepoSizes sizemap branchsha journalledRepoSizes sizemap branchsha

View file

@ -294,6 +294,14 @@ elsewhere to allow removing it).
expression, which will make repositories want to move files around as expression, which will make repositories want to move files around as
necessary in order to get fully balanced. necessary in order to get fully balanced.
Using this in a perferred content expression makes git-annex need to do
some additional work to keep track of how full repositories are. Usually
that won't affect performance much. However, the first time git-annex
processes this in a given git repository, it will need to examine
all the locations of all files, which can be slow when there are a lot of
them. When this causes git-annex to do a lot of work, it will
display "(calculating repository sizes)".
Note that `not balanced` is a bad thing to put in a preferred content Note that `not balanced` is a bad thing to put in a preferred content
expression for the same reason `not present` is. expression for the same reason `not present` is.