todo work
This commit is contained in:
parent
2f3a275b58
commit
867a833624
3 changed files with 36 additions and 7 deletions
|
@ -5,14 +5,15 @@
|
||||||
content="""
|
content="""
|
||||||
`git-annex import --from remote` has recently been sped up a lot,
|
`git-annex import --from remote` has recently been sped up a lot,
|
||||||
and the plan is to [[todo/remove_legacy_import_directory_interface]]
|
and the plan is to [[todo/remove_legacy_import_directory_interface]]
|
||||||
in favor of it.
|
in favor of it or reimplement the lecacy interface on top of it.
|
||||||
|
|
||||||
I think this would work as a faster alternative to --clean-duplicates,
|
Using `git-annex import --from remote --fast`, when there's a huge file in
|
||||||
using a directory special remote:
|
the directory remote, will hash it, but only once. On subsequent runs it
|
||||||
|
will recognise the file it has seen before.
|
||||||
|
|
||||||
|
So all that's needed to emulate --clean-duplicates is a way to do this:
|
||||||
|
|
||||||
git-annex import --from remote --fast
|
|
||||||
git-annex move --from remote --copies 2
|
git-annex move --from remote --copies 2
|
||||||
|
|
||||||
When there's a huge file in the directory remote, it will hash it, but only
|
Which doesn't work currently, but see [[drop_from_export_remote]].
|
||||||
once. On subsequent runs it will recognise the file it has seen before.
|
|
||||||
"""]]
|
"""]]
|
||||||
|
|
21
doc/todo/drop_from_export_remote.mdwn
Normal file
21
doc/todo/drop_from_export_remote.mdwn
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
It should be possible for this to work:
|
||||||
|
|
||||||
|
joey@darkstar:~/tmp/bench3/a>git annex move x --from d
|
||||||
|
move x (from d...)
|
||||||
|
dropping content from an export is not supported; use `git annex export` to export a tree that lacks the files you want to remove
|
||||||
|
failed
|
||||||
|
|
||||||
|
git-annex could just alter the tree exported to the remote to remove the file.
|
||||||
|
It might be a little slow to do that for a lot of files, and it would create
|
||||||
|
some unattached tree objects that would linger until gc.
|
||||||
|
|
||||||
|
A simple optimisation would be to remove the file (with removeExport) but not update the
|
||||||
|
export tree for one file. Keep a log of removed files, and at the end of the command,
|
||||||
|
or some future point where the export tree is used, update the export tree to remove the
|
||||||
|
files from it.
|
||||||
|
|
||||||
|
This seems like a prerequisite for [[remove_legacy_import_directory_interface]] because
|
||||||
|
`git-annex import --deduplicate` and `--clean-duplicates` need to remove individual files
|
||||||
|
from the remote.
|
||||||
|
|
||||||
|
[[!confirmed]]
|
|
@ -33,6 +33,13 @@ Another likely pain point is ad-hoc importing of individual files or
|
||||||
files matched by wildcard. The new interface is much more about importing
|
files matched by wildcard. The new interface is much more about importing
|
||||||
whole trees, perhaps configured by preferred content settings
|
whole trees, perhaps configured by preferred content settings
|
||||||
|
|
||||||
|
> This is now addressed; `--fast` import from directory special remotes
|
||||||
|
> followed by `git-annex get` of the files that are wanted. --[[Joey]]
|
||||||
|
|
||||||
|
Another pain point is that to remove files from an export,
|
||||||
|
the user has to create trees that lack the files they want to remove.
|
||||||
|
[[drop_from_export_remote]] will resolve that.
|
||||||
|
|
||||||
One approach would be to make the old interface be implemented using the
|
One approach would be to make the old interface be implemented using the
|
||||||
new interface, and paper over the cracks, by eg setting up a directory
|
new interface, and paper over the cracks, by eg setting up a directory
|
||||||
special remote automatically.
|
special remote automatically.
|
||||||
|
@ -46,4 +53,4 @@ interface.
|
||||||
|
|
||||||
--[[Joey]]
|
--[[Joey]]
|
||||||
|
|
||||||
[[!tag needsthought]]
|
[[!tag confirmed]]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue