comment
This commit is contained in:
parent
b68a8d8968
commit
d19dbdb05e
1 changed files with 30 additions and 0 deletions
|
@ -0,0 +1,30 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2020-01-06T16:12:01Z"
|
||||
content="""
|
||||
There's a subtle backwards compatibility issue here: The stored config of a
|
||||
special remote is used when enabling it, so if an older version of
|
||||
git-annex is used to enable a remote, there might be a setting that it does
|
||||
not know about, or a value it doesn't understand. If that caused it to fail
|
||||
to enable the remote it wouldn't be possible to use it, at least w/o
|
||||
changing/removing the config.
|
||||
|
||||
For example, autoenable=true did not used to be a config setting, but older
|
||||
versions of git-annex can still use remotes that have that.
|
||||
|
||||
Another example is chunk=. While older versions of git-annex don't
|
||||
understand that, and so won't use chunks when storing/retrieving,
|
||||
the newer git-annex falls back to getting the unchunked object.
|
||||
So things stored by the old git-annex can be retrieved by the new,
|
||||
but not vice-versa.
|
||||
|
||||
Another example is S3's storageclass=. Older git-annex doesn't understand
|
||||
it, so uses the default storage class, but that behavior is interoperable
|
||||
with the new behavior.
|
||||
|
||||
So the stored config of a remote should not be checked
|
||||
everytime the remote is instantiated, but only the new settings passed
|
||||
to initremote/enableremote. That will complicate the API, since currently
|
||||
the old and new config are combined together by enableremote.
|
||||
"""]]
|
Loading…
Reference in a new issue