From a979d8da41d25cef8b60ba42af5df17f7e6d9a35 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 13 Aug 2024 14:14:47 -0400 Subject: [PATCH] update --- doc/todo/git-annex_proxies.mdwn | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/doc/todo/git-annex_proxies.mdwn b/doc/todo/git-annex_proxies.mdwn index 00b7c4030b..7853268073 100644 --- a/doc/todo/git-annex_proxies.mdwn +++ b/doc/todo/git-annex_proxies.mdwn @@ -53,15 +53,19 @@ Planned schedule of work: * Implement [[track_free_space_in_repos_via_git-annex_branch]]: - * Load Annex.reposizes from Database.RepoSizes on startup. + * Goal is for limitFullyBalanced not to need to calcRepoSizes. + + * Load Annex.reposizes from Database.RepoSizes on demand. * When Annex.reposizes does not list the size of a UUID, and that UUID's size is needed eg for balanced preferred - content, read the git-annex branch to get all repo sizes, - the same way `git-annex info` gets repo sizes. And store in + content, use calcRepoSizes and store in Database.RepoSizes. - * Update Annex.reposizes after each successful transfer. + * Update Annex.reposizes in Logs.Location.logChange, + when it makes a change and when Annex.reposizes has a size + for the UUID. So Annex.reposizes is kept up-to-date + for each transfer and drop. * Update Database.RepoSizes during merge of git-annex branch. (Also update Annex.reposizes) @@ -75,8 +79,14 @@ Planned schedule of work: part of the commit. So need to read all the changed location logs, and update Database.RepoSize accordingly. + Also private journals complicate this. + (Annex.reposizes can be updated to the resulting values.) + * calcRepoSizes currently skips log files in private journals, + when they are for a key that does not appear in the git-annex branch. + It needs to include those. + * Perhaps: setRepoSize to 0 when initializing a new repo or a new special remote (but not when reinitializing), and also update Annex.reposizes for that uuid.