perf(repo-brancher): skip already-synced branches via upfront ls-remote#5033
perf(repo-brancher): skip already-synced branches via upfront ls-remote#5033petr-muller wants to merge 1 commit intoopenshift:mainfrom
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: automatic mode |
|
Skipping CI for Draft Pull Request. |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Excluded labels (none allowed) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: petr-muller The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
8a86f04 to
62bd257
Compare
|
@petr-muller: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
…ches Instead of doing git init + fetch + push for every repo and a separate ls-remote per future branch, run a single ls-remote per repo upfront to get all remote ref SHAs. Compare the current branch SHA against each future branch SHA: if they match, the branch is already synced and all git operations (init, fetch, push) are skipped entirely. Assisted-By: Claude Opus 4.6 <noreply@anthropic.com>
62bd257 to
41a0f9e
Compare
Summary
git ls-remoteper repo upfront to get all remote ref SHAsStacked on #5014 (merged).
Benchmark (20 repos, 2026-03-19)
Comparison against #5014 (
--deepen+--unshallow):The big win is in the no-op case: synced repos skip
git init+git fetch+git pushentirely, just doing onels-remoteper repo.🤖 Generated with Claude Code