looked over all my old comments, current status of all concerns

This commit is contained in:
Joey Hess 2019-10-11 16:06:42 -04:00
parent 37f725a9f7
commit 37f0abbca8
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 35 additions and 8 deletions

View file

@ -29,11 +29,3 @@ of the code will work as-is.
That would add overhead of an additional git-annex branch read on every That would add overhead of an additional git-annex branch read on every
program start. That could be avoided by instead putting the equivilance in program start. That could be avoided by instead putting the equivilance in
the remote.log. Eg, "B sameas=A foo=bar ..." the remote.log. Eg, "B sameas=A foo=bar ..."
----
Implementation notes:
Deal with the per-remote state issue.
Any other things mentioned in the comments..

View file

@ -0,0 +1,35 @@
[[!comment format=mdwn
username="joey"
subject="""comment 12"""
date="2019-10-11T19:56:12Z"
content="""
Looking over all my comments now that I have an implementatation..
`git annex dead` on a sameas remote name marks the parent remote dead.
I think this is ok; dead means the content is gone, so which remote is used
to access it is immaterial; they're all dead.
sameas loops are not a problem, it only looks up the sameas-uuid value
once, will not loop.
old git-annex are prevented from enabling a sameas remote, since it has no
name=
old git-annex with an enabled sameas remote will see the annex-uuid of the
parent, and treat it as the parent. Some git config values needed to use
the parent may not be set, or may potentially be set differently than for
the parent. Unlikely to cause any bad behavior, other than the remote not
working.
encrypted data and legacy chunking is inherited, and cannot be overridden
RemoteConfig always contains any inherited parameters of a sameas remote.
Logs.Remote.configSet filters those out.
Logs.Remote.configSet is a little bit less safe; if its caller passed the
RemoteConfig from a sameas remote, it needs to make sure to not pass the
uuid of the parent remote, or it will overwrite the wrong config. All calls
to it handle that now.
per-remote state still to be done.
"""]]