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

This commit is contained in:
Joey Hess 2021-03-26 13:29:57 -04:00
commit 7684cd28bb
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 37 additions and 0 deletions

View file

@ -0,0 +1,5 @@
I have a large USB hard disk where I store all my projects and a computer with a rather small SSD.
The SSD holds only projects that are active, they are my "working copy".
Whenever I connect the USB drive to the computer, I want it to be updated from the SSD.
What would be the best possible setup for that? Is it possible at all? How would I tag certain projects as active?

View file

@ -0,0 +1,17 @@
[[!comment format=mdwn
username="Lukey"
avatar="http://cdn.libravatar.org/avatar/c7c08e2efd29c692cc017c4a4ca3406b"
subject="comment 1"
date="2021-03-25T18:26:30Z"
content="""
Yes, of course. This is a core feature of git-annex ans is done with [[git-annex-preferred-content]]. <br>
First step is to let the usb drive want anything with `git annex wanted here anything`. Then you need to tell git-annex what files you want on the SSD. There are multiple ways to do that:
The simplest one is to set the preferred-content expression on the SSD to something like `include=path/to/project_a or include=path/to/project_b or include=...` and so on.
Or you can just decide manually what files to keep on the SSD with `git annex get`. Then you set the preferred-content expression to just `present`. I think that this should work pretty well with your workflow, since new files will appear first on the SSD and thus are already present.
Tags are the most complicated way to do this. You basically set the preferred-content expression to something like `metadata=tag=keeponssd`. Then you tag the files you want to keep on the SSD with `git annex metadata --force -t keeponssd path/to/project_a` (--force makes it recursive). The disadvantage is that if you add new files, you have to manually tag them too or else they will be dropped with the next `git annex sync --content --all`.
To update/sync changes back to the usb drive, you just run `git annex sync --content --all`. With --all, it will also copy old versions of files to the usb drive.
"""]]

View file

@ -0,0 +1,15 @@
Please add the feature/switch `--json-progress` to `git annex fsck --json`.
For a basic version, it would be nice to show the percentage using the number of processed chunks / total number of chunks for a given file while calculating checksum.
Let's not forget that a file on a remote can be fsck-ed when using `--from <remote>`. In this case if the file is not present locally, the file must be downloaded first (`--json-progress` is already supported for `get`). Usually this takes much-much longer as the checksum calculation. When checking a large file (~1Gb) on a not too fast remote, it's quite a time for the first "response" that something is happening when using the `--json` switch. To be exact, the first and only response is that the check has finished (happy way). It would be nice to see the json progress of the download+checksum calculation.
Test environment:
Docker Community 20.10.5
Ubuntu 20.04.2 LTS (Focal Fossa)
git-annex version: 8.20210224-gf951847c6 (kitenet: SHA256E-s51232145--1e57d2e334cffdb3c3874785cfba4f6d5fc521808d0b1deef4fb68160dd88d48.tar.gz)