Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RF ORA #7235

Merged
merged 5 commits into from
Dec 31, 2022
Merged

RF ORA #7235

merged 5 commits into from
Dec 31, 2022

Conversation

bpoldrack
Copy link
Member

@bpoldrack bpoldrack commented Dec 22, 2022

This is a revival of #5859 (which I thought was long merged).

Apart from some refactoring in ORA, it introduces the possibility to override the special remote configs (in git-annex:remote.log) by local configs. This is then used to change the reconfiguration of ORA remotes by clone to only apply locally instead of committing a changed RIA URL (which could lead to a constant ping pong between different access methods to a RIA store).

In addition, there is a shim special remote introduced here, that allows datasets using the old ria remote (https://github.com/datalad/git-annex-ria-remote) to still work. This doesn't come with a proper test, since there's little point in making the tests depend on a package that is deprecated and archived. Please note, that there are two more points about introducing this "second flavor" of the special remote:

  1. One idea is to have this replaced by an implementation that would auto-migrate during initremote/enableremote.
  2. Following up on Remove RIA functionality #7022, after 0.18 I want to move all the RIA/ORA stuff into https://github.com/datalad/datalad-ria. Those two special remotes here in core would then be replaced by a dummy implementation that simply issues an error message to annex, reading something like "please install datalad-ria extension".
    So, the point here is to introduce that second "spot".

@bpoldrack bpoldrack changed the base branch from maint to master December 22, 2022 13:01
`clone` does an auto reconfiguration of ORA special remotes, if the
dataset was cloned from a RIA store, an ORA remote failed to autoenable
and clone finds that the special remote's uuid in the store it just
cloned from. The clone URL would then be configured to be used by the
ORA special remote. However, until now that new URL was passed
to `annex enableremote` and thereby committed in the git-annex branch.

This could lead to a back and forth of changing committed URLs by
different users who may have access to that store via different methods
(SSH/HTTP). This patch changes the reconfiguration to only happen
locally in .git/config, since ORA does now respect and gives precedence
to local configs.
@codecov
Copy link

codecov bot commented Dec 22, 2022

Codecov Report

Base: 88.70% // Head: 88.79% // Increases project coverage by +0.08% 🎉

Coverage data is based on head (40d3430) compared to base (92e86f7).
Patch coverage: 75.53% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7235      +/-   ##
==========================================
+ Coverage   88.70%   88.79%   +0.08%     
==========================================
  Files         325      326       +1     
  Lines       44124    44750     +626     
  Branches     5867     5887      +20     
==========================================
+ Hits        39142    39734     +592     
- Misses       4967     5001      +34     
  Partials       15       15              
Impacted Files Coverage Δ
datalad/customremotes/ria_utils.py 95.31% <ø> (ø)
datalad/distributed/tests/test_ria_git_remote.py 100.00% <ø> (ø)
datalad/customremotes/ria_remote.py 55.55% <55.55%> (ø)
datalad/core/distributed/clone_utils.py 87.88% <66.66%> (-0.27%) ⬇️
datalad/distributed/ora_remote.py 79.69% <75.72%> (-0.16%) ⬇️
datalad/distributed/tests/test_ria_basics.py 98.24% <100.00%> (+0.29%) ⬆️
datalad/distribution/utils.py 94.00% <0.00%> (-6.00%) ⬇️
datalad/interface/utils.py 95.28% <0.00%> (-1.05%) ⬇️
datalad/cli/parser.py 86.03% <0.00%> (-0.46%) ⬇️
datalad/support/annexrepo.py 90.33% <0.00%> (-0.09%) ⬇️
... and 9 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

This has long been overdue, since the special remote is called ORA for
quite a while now.
This allows for datasets that were configured with the old ria special
remote to still work and gives a message when such a special remote is
enabled.

Note, that there are further plans to use the spot for implementing a
special remote that automatically migrates datasets.
@bpoldrack bpoldrack marked this pull request as ready for review December 23, 2022 10:58
@bpoldrack bpoldrack marked this pull request as draft December 23, 2022 10:59
@bpoldrack bpoldrack added the semver-minor Increment the minor version when merged label Dec 23, 2022
@bpoldrack bpoldrack marked this pull request as ready for review December 23, 2022 11:59
@codeclimate
Copy link

codeclimate bot commented Dec 23, 2022

Code Climate has analyzed commit 40d3430 and detected 6 issues on this pull request.

Here's the issue category breakdown:

Category Count
Security 6

View more on Code Climate.

@bpoldrack bpoldrack added this to the 0.18.0 milestone Dec 23, 2022
@bpoldrack
Copy link
Member Author

Ok, no objections raised and the setup failure for the "Test old nose code" build clearly is unrelated.
Merging.

@bpoldrack bpoldrack merged commit 24331ed into datalad:master Dec 31, 2022
@yarikoptic-gitmate
Copy link
Collaborator

PR released in 0.18.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver-minor Increment the minor version when merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants