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
Following #27, repo_cache.sync_org() correctly reports empty repositories separately from synchronization failures. However, it always lists the organization through gh and accepts only repository-name filters.
Consumers such as generate-repo-overview already fetch the complete repository set through PyGithub. They need to synchronize those same repositories, but using sync_org() causes a second organization listing and loses the already-fetched repository records.
Proposed change
Add a high-level synchronization API that accepts repository records supplied by the caller, for example:
Checkout paths and outcome ordering remain deterministic and compatible with sync_org().
sync_org() behavior remains unchanged and shares the implementation.
The library documentation includes the pre-fetched-repository use case.
This would let downstream collectors fetch GitHub metadata once, synchronize checkouts once, and pass the resulting paths into their own processing workers.
Problem
Following #27,
repo_cache.sync_org()correctly reports empty repositories separately from synchronization failures. However, it always lists the organization throughghand accepts only repository-name filters.Consumers such as
generate-repo-overviewalready fetch the complete repository set through PyGithub. They need to synchronize those same repositories, but usingsync_org()causes a second organization listing and loses the already-fetched repository records.Proposed change
Add a high-level synchronization API that accepts repository records supplied by the caller, for example:
sync_org()should retain its current behavior and delegate to this API after listing and filtering repositories.Acceptance criteria
repo_cache.Repositoryrecords without another organization-list API request.SyncReportpreserves the post-feat(repo-cache): handle empty repositories #27 empty-repository and failure classification.sync_org().sync_org()behavior remains unchanged and shares the implementation.This would let downstream collectors fetch GitHub metadata once, synchronize checkouts once, and pass the resulting paths into their own processing workers.