my, this is looking complicated
This commit is contained in:
parent
7b5ce2b330
commit
7245a86587
1 changed files with 39 additions and 0 deletions
|
@ -0,0 +1,39 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 4"""
|
||||||
|
date="2019-10-01T16:26:12Z"
|
||||||
|
content="""
|
||||||
|
Started a `sameas` branch for this.
|
||||||
|
|
||||||
|
Logs.Remote.configSet will need some changes because it currently works
|
||||||
|
on the basis of UUID, and so can't know when it's supposed to change a
|
||||||
|
sameas remote. It will need an added RemoteName parameter.
|
||||||
|
|
||||||
|
The RemoteConfig is generated each run from the remote.log, and so the
|
||||||
|
handling of sameas remotes needs to be done in Logs.Remote.readRemoteLog
|
||||||
|
not by enableremote.
|
||||||
|
|
||||||
|
readRemoteLog makes a `Map UUID RemoteConfig`, which will need to
|
||||||
|
change to `Map (UUID, RemoteName) RemoteConfig`
|
||||||
|
|
||||||
|
Digging into changing readRemoteLog, there are several problems. Here are
|
||||||
|
some of the less tractable ones:
|
||||||
|
|
||||||
|
Remote.List.remoteGen looks up RemoteConfig by UUID. While it does have a
|
||||||
|
Git remote and could look up the name of the remote from that, if the user
|
||||||
|
renames a remote in .git/config, that would confuse it. That is not an
|
||||||
|
acceptable tradeoff. So, a sameas remote would need to have some additional
|
||||||
|
git config be set, giving the namespace that's used for it in the
|
||||||
|
remote.log. If that's missing, it un-namespaced. initremote/enableremote
|
||||||
|
need to set that git config.
|
||||||
|
|
||||||
|
Annex.SpecialRemote.autoEnable uses readRemoteLog. It would likewise need
|
||||||
|
to look at the git config for namespace to tell which sameas remotes
|
||||||
|
have been auto-enabled.
|
||||||
|
|
||||||
|
Preferred content looks at the preferreddir= value from RemoteConfig,
|
||||||
|
and only a uuid is available. So it would have to look at the preferreddir
|
||||||
|
values from all RemoteConfigs for remotes with that uuid and somehow pick
|
||||||
|
one consistently. Or, preferreddir could be inherited like encryption
|
||||||
|
settings are, and not allowed to be set in a sameas remote's config.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue