Skip to content
  • Joey Hess's avatar
    export: Added --from option · 7294d23d
    Joey Hess authored
    This is similar to git-annex copy --from --to, in that it downloads a
    local copy, locks it for removal, uploads it, and drops it. Removal of
    the temporary local copy is done without verifying numcopies for the
    same reason as that command.
    
    I do wonder, looking at this, if there's a race where the local copy
    gets used as a copy to allow some other drop in the narrow window after
    it is downloaded and before it gets locked for removal. That would need
    some other repository to have an out of date location log that says the
    repository contains a copy of the key, in order for it to try to use it
    as a copy. If there is such a race, git-annex copy/move would also be
    vulnerable to it. It would be better to lock it for removal before
    starting to download it! That is possible in v10 repositories, which do
    use a separate content lock file.
    
    Note that, when the exported tree contains several files that use the
    same key, it will be downloaded repeatedly, once per time needed to
    upload it. It would be possible to avoid that extra work, but it would
    complicate this since the local copy would need to be preserved, locked
    for removal, until the end. Also, that would mean that interrupting the
    export would leave possibly a lot of temporarily downloaded keys in the
    local repository, while currently it can only leave one.
    7294d23d
To find the state of this project's repository at the time of any of these versions, check out the tags.