2020-07-24 18:11:08 +00:00
|
|
|
git-annex import --no-content from a directory special remote is
|
|
|
|
implemented, but git-annex sync, when run without --content, does not
|
|
|
|
operate on import/export special remotes. This is inconsistent, and it
|
|
|
|
would be useful if it did.
|
|
|
|
|
|
|
|
<https://git-annex.branchable.com/todo/importing_from_special_remote_without_downloading/#comment-e3db95e073f01a05b205e26f422f5bc5>
|
|
|
|
describes a problem with doing that, involving merge conflicts. That
|
|
|
|
should not actually happen with the directory special remote, because
|
|
|
|
it generates the same key with importKey as git-annex import would.
|
|
|
|
But other special remotes later using this interface might generate a key
|
|
|
|
using a different hash than usual.
|
|
|
|
|
|
|
|
The suggestion there is that there could be a separate config that controls
|
|
|
|
whether sync does a fast import or an import with content. Then when sync
|
|
|
|
is run without --content, it can do a fast import. And when run with
|
|
|
|
--content, it can do a fast import, followed by getting the content.
|
|
|
|
|
|
|
|
Or maybe that should just be what it always does, when a remote supports
|
|
|
|
importKey? (If so, git-annex import should do the same.) Yeah, this seems
|
|
|
|
better than a config. Look at it like this: The special remote makes pseudo
|
|
|
|
"commits" when changes are made to it. And maybe it choses to use a
|
|
|
|
different kind of key than the local repository would use. Same could
|
|
|
|
happen when pulling from someone else's repo, if they've configured
|
|
|
|
git-annex to use a different backend.
|
|
|
|
|
2020-09-28 14:40:13 +00:00
|
|
|
> There could be future transition problems here. If a remote does not
|
|
|
|
> support importkey, and imports are done from it, and then in a new
|
|
|
|
> version, it does support importkey, there would be the same risk of
|
|
|
|
> conflicts.
|
|
|
|
>
|
|
|
|
> Could be solved by the remote's code indicating if
|
|
|
|
> importKey is safe to use by default. If a remote started off implementing
|
|
|
|
> only imports w/o importKey, and then added importKey, and importKey
|
|
|
|
> generates different keys than the keys generated by hashing downloaded
|
|
|
|
> content, then the remote could say, don't use importKey by default.
|
|
|
|
> (Or more likely, only the directory remote will be able to support
|
|
|
|
> importKey by default..)
|
2020-09-28 19:03:15 +00:00
|
|
|
>
|
|
|
|
> Problem: When annex.largefiles matches file content,
|
|
|
|
> cannot use importKey. So then should sync --content not use importKey
|
|
|
|
> then, risking generating a different tree? Or should it fail, even
|
|
|
|
> though importing with content is possible?
|
|
|
|
>
|
|
|
|
> > Well, different annex.largefiles settings in different clones
|
|
|
|
> > can already risk generating a different tree on import. So,
|
|
|
|
> > the former option seems preferable.
|
2020-07-24 18:11:08 +00:00
|
|
|
|
2020-09-28 14:40:13 +00:00
|
|
|
---
|
2020-09-01 16:13:41 +00:00
|
|
|
|
2020-09-28 14:40:13 +00:00
|
|
|
See also, [[todo/import_--no-content_largefiles_conflict]]
|
2020-09-28 19:03:15 +00:00
|
|
|
|
|
|
|
> [[done]] --[[Joey]]
|