You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The library maintainers may request a change to the repository URL in the library registration data.
This operation is performed by the backend maintainer via the command:
libraries-repository-engine modify --repo-url
Previously, this command did three things:
- Update the DB entry for the library
- Move the release archives to the new location (the storage structure is based on the repository URL for some reason)
- Move the cached library repository clone to the new location
Problem
-------
The last of these is problematic because the remote of that repository is still configured for the original URL, meaning
the fetch done during the `sync` command execution were still done against the old URL.
This bug is not noticeable under either of the following scenarios:
The repository was renamed or transferred
=========================================
This produces a redirect from the old URL to the new one, so the fetch is done from the intended repo despite the
outdated remote configuration.
The original repository was deleted
===================================
If a fetch fails, the engine deletes the repository and clones from the URL in the DB. The newly cloned repo will have
the correct remote configuration.
The bug is noticeable under the following scenario:
The original repository still exists
====================================
The sync process continues to fetch from the old URL.
Solution
--------
Change the `modify --repo-url` command behavior to delete the cached library repository clone.
The repository will be cloned from the updated URL on the next run of the `sync` command.
0 commit comments