f4be3c3f89
Now when one repository has exported a tree, another repository can get files from the export, after syncing. There's a bug: While the database update works, somehow the database on disk does not get updated, and so the database update is run the next time, etc. Wasn't able to figure out why yet. This commit was sponsored by Ole-Morten Duesund on Patreon.
43 lines
1.7 KiB
Markdown
43 lines
1.7 KiB
Markdown
`git annex export` corresponding to import. This might be useful for eg,
|
|
datalad. There are some requests to make eg a S3 bucket mirror the
|
|
filenames in the git annex repository with incremental updates,
|
|
which seem out of scope (and there are many tools to do stuff like that
|
|
search "deploy files to S3 bucket"),
|
|
but something simpler like `git annex export` could be worth doing.
|
|
|
|
`git annex export --to remote files` would copy the files to the remote,
|
|
using the names in the working tree. For remotes like S3, it could add the
|
|
url of the exported file, so that another clone of the repo could use the
|
|
exported data.
|
|
|
|
Would this be able to reuse the existing `storeKey` interface, or would
|
|
there need to be a new interface in supported remotes?
|
|
|
|
--[[Joey]]
|
|
|
|
Work is in progress. Todo list:
|
|
|
|
* bug: export db update does not reash disk after Remote.Helper.Export calls
|
|
updateExportTree.
|
|
|
|
* tracking exports
|
|
|
|
* Support configuring export in the assistant
|
|
(when eg setting up a S3 special remote).
|
|
|
|
This is similar to the little-used preferreddir= preferred content
|
|
setting and the "public" repository group. The assistant uses
|
|
those for IA, which could be replaced with setting up an export
|
|
tracking branch.
|
|
|
|
Low priority:
|
|
|
|
* When there are two pairs of duplicate files, and the filenames are
|
|
swapped around, the current rename handling renames both dups to a single
|
|
temp file, and so the other file in the pair gets re-uploaded
|
|
unncessarily. This could be improved.
|
|
|
|
Perhaps: Find pairs of renames that swap content between two files.
|
|
Run each pair in turn. Then run the current rename code. Although this
|
|
still probably misses cases, where eg, content cycles amoung 3 files, and
|
|
the same content amoung 3 other files. Is there a general algorythm?
|