Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2021-05-31 15:05:40 -04:00
commit 988dbce27a
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 25 additions and 0 deletions

View file

@ -0,0 +1,15 @@
I'm currently using a directory special remote with encryption for dropable storage for incompressible files but I also need one for compressible text files.
Borg would be my go-to for encryption and compression for append-only storage needs and even comes with the additional benefit of best-in-class dedup (though that is not important in this case). Unfortunately, I need to be able to drop files from this remote, so Borg is out of the question.
An encrypted directory would be an option since gpg does its own compression before encryption but I turned that off globally because it uses a horribly inefficient compression algorithm (gzip) which I never want when using it manually and definitely don't want on my already-existing encrypted directory special remote full of incompressible files.
I'd be fine with gzip for this particular purpose but I haven't found a way to make git-annex call gpg with a certain compression flag in one remote but not the other. LMK if you're aware of one.
Two other possible options I can think of that aren't implemented yet (AFAICT) would be:
* customisable compression for special remotes
(This would probably be the best option; efficient, customisable and simple)
* storing the text files in an actual git repo encrypted with gcrypt
How do you store compressible files which you might need to drop?

View file

@ -0,0 +1,3 @@
When you want to dead a file in your checkout, you can only do so via the key of the file. You can find the corresponding key with a bit of bash like this: `git annex dead --key $(basename $(readlink file))` but that shouldn't be necessary IMO.
It'd be a lot better if you could just dead files like this: `git annex dead --file file` or even like this: `git annex dead --file file1 file2 file3 otherfiles.*` (or maybe even like this: `git annex dead --file file1 file2 --key $key1 $key2`).

View file

@ -0,0 +1,7 @@
It'd be very useful if you could specify a size limit for drop/move/copy/get-type operations. `git annex move --to other --limit 1G` would move at most 1G of data to the other repo for example.
This way you could quickly "garbage collect" a few dozen GiB from your annex repo when you're running out of space without dropping everything for example.
Another issue this could be used to mitigates is that, for some reason, git-annex doesn't auto-stop the transfer when the repos on my external drives are full properly.
I imagine there are many more use-cases where quickly being able to set a limit for the amount of data a command should act on could come in handy.