]> dgit.raspbian.org Git - git-annex.git/commit
added reposize database
authorJoey Hess <joeyh@joeyh.name>
Mon, 12 Aug 2024 15:19:58 +0000 (11:19 -0400)
committerJoey Hess <joeyh@joeyh.name>
Mon, 12 Aug 2024 15:19:58 +0000 (11:19 -0400)
commit99a126bebb8d665fa4aee91954b30cf3555aead9
tree8dcd2c2361d19c61140e487a72d07a6e8eb6a2fd
parent71043fe9f77f4c481449e83998d8cf34da4b4a94
added reposize database

The idea is that upon a merge of the git-annex branch, or a commit to
the git-annex branch, the reposize database will be updated. So it
should always accurately reflect the location log sizes, but it will
often be behind the actual current sizes.

Annex.reposizes will start with the value from the database, and get
updated with each transfer, so it will reflect a process's best
understanding of the current sizes.

When there are multiple processes all transferring to the same repo,
Annex.reposize will not reflect transfers made by the other processes
since the current process started. So when using balanced preferred
content, it may make suboptimal choices, including trying to transfer
content to the repo when another process has already filled it up.
But this is the same as if there are multiple processes running on
ifferent machines, so is acceptable. The reposize will eventually
get an accurate value reflecting changes made by other processes or in
other repos.
Annex.hs
Annex/Locations.hs
Database/Queue.hs
Database/RepoSize.hs [new file with mode: 0644]
Logs/MaxSize.hs
Types/MaxSize.hs [deleted file]
Types/RepoSize.hs [new file with mode: 0644]
git-annex.cabal