optimize: A new subcommand that either gets or drops file content as needed to work toward meeting the configured numcopies setting.

This is currently rather simplistic, though still useful.
In the future, it could become smarter about what content is stored where,
etc.
This commit is contained in:
Joey Hess 2011-09-14 13:47:22 -04:00
parent 1ac6217c74
commit 949b3f69d0
9 changed files with 73 additions and 1 deletions

View file

@ -157,6 +157,11 @@ Many git-annex commands will stage changes for later `git commit` by you.
To avoid expensive checksum calculations, specify --fast
* optimize [path ...]
Either gets or drops file content, as needed, to work toward meeting the
configured numcopies setting.
* unused
Checks the annex for data that does not correspond to any files present

View file

@ -18,5 +18,6 @@ A walkthrough of the basic features of git-annex.
fsck:_verifying_your_data
fsck:_when_things_go_wrong
backups
optimizing_repositories
more
"""]]

View file

@ -0,0 +1,13 @@
Once you have multiple repositories, and have perhaps configured numcopies,
any given file can have many more copies than is needed, or perhaps fewer
than you would like. Fsck can detect the latter problem, but there's another
command that can help deal with both problems.
The optimize subcommand either gets or drops file content, as needed,
to work toward meeting the configured numcopies setting.
# git annex optimize
get my_cool_big_file (from laptop...) ok
drop other_file ok
# git annex optimize --numcopies=2
get other_file ok