Merge branch 'master' into preferred

This commit is contained in:
Joey Hess 2019-05-20 10:00:03 -04:00
commit 12451ea010
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
22 changed files with 443 additions and 7 deletions

View file

@ -121,11 +121,35 @@ a subtree.
> remote in that group. This seems surprising!
>
> Maybe better than guessing would be to limit preferred content
> expression matching for importing to terms that don't require guessing.
> If an expression is found to require guessing, display a warning and
make the whole expression match. OR download the content
> from the remote, generate a key from it, and match the preferred
> content expression at that point. That avoids any surprises at
> the expense of an unnessary download. As long as the ContentIdentifier to
> expression matching for importing to terms that don't require the key.
> If an expression is found to require the key, display a warning and
> don't import.
>
> OR download the content
> from the remote, generate a key from it, and re-match the preferred
> content expression. That avoids any surprises and supports all
> expressions at the expense of an unnessary download. As long as the ContentIdentifier to
> Key mapping gets updated, it will only download a given file unncessarily
one time.
> one time.
>
> Which approach is better? Note that almost all of the standard groups
> do depend on the key. But it seems very likely that most actual
> uses of this feature would involve the name or size of a file that's
> being imported, and nothing else.
>
> > started work on this in the `preferred` branch. --[[Joey]]
## different preferred content for export and import?
May be cases where this makes sense. For example, I might make my phone
prefer all content that has some metadata set, but want to import all files
from my phone (or all files except those in the music directory).
OTOH, that config would cause files imported from the phone to be removed
from it on the next export, unless the necessary metadata got set; git
annex sync --content would not work well.
Better example: Make the phone want all content that is in the laptop
group, so all files on my laptop export to the phone but not others that I
have archived. But want to import all files from the phone, which is not in
the laptop group, so need a separate expression for import.