summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-01-22 22:48:56 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-01-22 22:53:18 -0400
commit43e3f104239eda7d484cfacc0c13ab6066997845 (patch)
tree09f2d8133cd720394e1bc882594fc44a59e20588 /doc
parentd1c13779bb4606cdb6d80a6e1dfd2cdb11478199 (diff)
assistant unused file handling
Make sanity checker run git annex unused daily, and queue up transfers of unused files to any remotes that will have them. The transfer retrying code works for us here, so eg when a backup disk remote is plugged in, any transfers to it are done. Once the unused files reach a remote, they'll be removed locally as unwanted. If the setup does not cause unused files to go to a remote, they'll pile up, and the sanity checker detects this using some heuristics that are pretty good -- 1000 unused files, or 10% of disk used by unused files, or more disk wasted by unused files than is left free. Once it detects this, it pops up an alert in the webapp, with a button to take action. TODO: Webapp UI to configure this, and also the ability to launch an immediate cleanup of all unused files. This commit was sponsored by Simon Michael.
Diffstat (limited to 'doc')
-rw-r--r--doc/git-annex.mdwn13
-rw-r--r--doc/preferred_content.mdwn4
-rw-r--r--doc/todo/Limit_file_revision_history.mdwn7
3 files changed, 20 insertions, 4 deletions
diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn
index 279fa24dd..3e239f7d6 100644
--- a/doc/git-annex.mdwn
+++ b/doc/git-annex.mdwn
@@ -1228,6 +1228,19 @@ Here are all the supported configuration settings.
to close it. On Mac OSX, when not using direct mode this defaults to
1 second, to work around a bad interaction with software there.
+* `annex.expireunused`
+
+ Controls what the assistant does about unused file contents
+ that are stored in the repository.
+
+ The default is `false`, which causes
+ all old and unused file contents to be retained, unless the assistant
+ is able to move them to some other repository (such as a backup repository).
+
+ Can be set to a time specification, like "7d" or "1m", and then
+ file contents that have been known to be unused for a week or a
+ month will be deleted.
+
* `annex.fscknudge`
When set to false, prevents the webapp from reminding you when using
diff --git a/doc/preferred_content.mdwn b/doc/preferred_content.mdwn
index 039df3878..92250c034 100644
--- a/doc/preferred_content.mdwn
+++ b/doc/preferred_content.mdwn
@@ -111,9 +111,9 @@ any repository that can will back it up.)
### client
All content is preferred, unless it's for a file in a "archive" directory,
-which has reached an archive repository.
+which has reached an archive repository, or is unused.
-`((exclude=*/archive/* and exclude=archive/*) or (not (copies=archive:1 or copies=smallarchive:1))) or roughlylackingcopies=1`
+`(((exclude=*/archive/* and exclude=archive/*) or (not (copies=archive:1 or copies=smallarchive:1))) or roughlylackingcopies=1) and not unused`
### transfer
diff --git a/doc/todo/Limit_file_revision_history.mdwn b/doc/todo/Limit_file_revision_history.mdwn
index c00b555b1..901d6f052 100644
--- a/doc/todo/Limit_file_revision_history.mdwn
+++ b/doc/todo/Limit_file_revision_history.mdwn
@@ -51,12 +51,13 @@ Finally, how to specify a feature request for git-annex?
> `and (not unused)`. Transfer repositories too, because typically
> only client repos connect to them, and so otherwise unused files
> would build up there. Backup repos would want unused files. I
-> think that archive repos would too.
+> think that archive repos would too. **done**
> * Make the assistant check for unused files periodically. Exactly
> how often may need to be tuned, but once per day seems reasonable
> for most repos. Note that the assistant could also notice on the
> fly when files are removed and mark their keys as unused if that was
> the last associated file. (Only currently possible in direct mode.)
+> **done**
> * After scanning for unused files, it makes sense for the
> assistant to queue transfers of unused files to any remotes that
> do want them (eg, backup remotes). If the files can successfully be
@@ -75,7 +76,9 @@ Finally, how to specify a feature request for git-annex?
> is not set, and there is some significant quantity of unused files
> (eg, more than 1000, or more than 1 gb, or more than the amount of
> remaining free disk space),
-> it can pop up a webapp alert asking to configure it.
+> it can pop up a webapp alert asking to configure it. **done**
+> * Webapp interface to configure annex.expireunused. Reasonable values
+> are no expiring, or any number of days.
>
> This does not cover every use case that was requested.
> But I don't see a cheap way to ensure it keeps eg the past 10 versions of