- Notifications
You must be signed in to change notification settings - Fork673
feat: add sync method to force remote mirror updates#3232
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Add ProjectRemoteMirror.sync() method to trigger immediate push mirrorupdates.Closes:#3223
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Pull Request Overview
Adds a newsync
method toProjectRemoteMirror
to force an immediate remote mirror update via HTTP POST, along with corresponding test coverage and documentation.
- Implements
ProjectRemoteMirror.sync()
in the API client - Extends unit tests to verify the sync endpoint call
- Updates the Sphinx docs to show how to invoke
mirror.sync()
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
File | Description |
---|---|
tests/unit/objects/test_remote_mirrors.py | Added aresponses.POST stub andtest_sync_project_remote_mirror |
gitlab/v4/objects/projects.py | DefinedProjectRemoteMirror.sync() with HTTP POST and decorators |
docs/gl_objects/remote_mirrors.rst | Documentedmirror.sync() usage |
Comments suppressed due to low confidence (2)
gitlab/v4/objects/projects.py:1238
- [nitpick] The return type annotation is a union of dict[str, Any] and requests.Response, but since http_post always returns a Response object, consider narrowing the annotation to requests.Response for clarity.
def sync(self, **kwargs: Any) -> dict[str, Any] | requests.Response:
docs/gl_objects/remote_mirrors.rst:40
- [nitpick] Expand this example to show the returned Response object (e.g., checking
response.status_code
) and mention any accepted kwargs or possible exceptions so users know how to handle the result ofmirror.sync()
.
Force push mirror update::
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@## main #3232 +/- ##======================================= Coverage 97.32% 97.32% ======================================= Files 98 98 Lines 6058 6062 +4 =======================================+ Hits 5896 5900 +4 Misses 162 162
Flags with carried forward coverage won't be shown.Click here to find out more.
🚀 New features to boost your workflow:
|
Add ProjectRemoteMirror.sync() method to trigger immediate push mirror updates.
Closes:#3223