]> dgit.raspbian.org Git - git-annex.git/commit
rename from annexobjects location on export
authorJoey Hess <joeyh@joeyh.name>
Sun, 4 Aug 2024 16:18:17 +0000 (12:18 -0400)
committerJoey Hess <joeyh@joeyh.name>
Sun, 4 Aug 2024 16:19:10 +0000 (12:19 -0400)
commita535eaa176c9be4e6f6dc553db0bd7fd4d207faf
tree0cfc5914383c34eb4d4799f4ce4c6a4fbd6b37f7
parenta3d96474f2056ea1e0883856c9d48eba96c48b9e
rename from annexobjects location on export

(When possible, of course it may not be there, or it may get renamed from
there for another exported file first. Or the remote may not support
renames.)

This will avoids redundant uploads.

An example case where this is important: Proxying to a exporttree remote,
a file is uploaded to it but is not yet in an exported tree. When the
exported tree is pushed, the remote needs to be updated by exporting to
it. In this case, the proxy doesn't have a copy of the file, so it would
need to download it from annexobjects before uploading it to the final
location. With this optimisation, it can just rename it.

However: If a key is used twice in an exported tree, it seems a proxy
will need to download and reupload anyway. Unless a copy operation is
added to exporttree remotes..
Command/Export.hs
doc/todo/git-annex_proxies.mdwn