fix git-annex sync --content with proxied remotes

Loading the remote list a second time was removing all proxied remotes.
That happened because setting up the proxied remote added some config
fields to the in-memory git config, and on the second load, it saw those
configs and decided not to overwrite them with the proxy.

Now on the second load, that still happens. But now, the proxied
git configs are used to generate a remote same as if those configs were
all set. The reason that didn't happen before was twofold,
the gitremotes cache was not dropped, and the remote's url field was not
set correctly.

The problem with the remote's url field is that while it was marked as
proxy inherited, all other proxy inherited fields are annex- configs.
And the code to inherit didn't work for the url field.

Now it all works, but git-annex sync is left running git push/pull on
the proxied remote, which doesn't work. That still needs to be fixed.
This commit is contained in:
Joey Hess 2024-06-24 09:40:57 -04:00
parent 6f94062c53
commit 0c111fc96a
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 14 additions and 11 deletions

View file

@ -26,15 +26,14 @@ In development on the `proxy` branch.
For June's work on [[design/passthrough_proxy]], remaining todos:
* `git-annex sync --content` does not send content to clusters, or to
proxied remotes. Seems that the second call to Remote.list somehow
is failing to listProxies.
* `git-annex sync` etc should not treat clusters as git syncable remotes.
* `git-annex sync` etc, when operating on clusters, should first
operate on the cluster as a whole, to take advantages of fanout on upload
and mass drop. Only operate on individual cluster nodes afterwards,
to handle cases such as a cluster containing a key, but some node
wanting and lacking the key.
wanting and lacking the key. Perhaps just setting cost for nodes slightly
higher than the cluster cost will be enough?
* On upload to cluster, send to nodes where it's preferred content, and not
to other nodes.