Repository navigation
Conversation
A branch at a blob, a tree or an annotated tag stops every hydration of its repository. The command now reads the object type of each branch tip from the repository's packs and lists such a branch. With --yes it deletes the branch with the same compare-and-swap as before. A tip whose object the packs do not hold is listed and kept. _Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-sonnet-5-5` • Thinking: `xhigh`_ Change-Id: I0dc87a68a183e78117ce2f9298acae9569d91bd8 Signed-off-by: Thomas Kosiewski <tk@coder.com>
|
@codex review |
|
@codex security review |
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
SIGINT and SIGTERM now cancel the run, so the temporary directory of packs is removed. The runbook names the right list-packs flag, and its list rules no longer contradict each other. Tests pin the cleanup on every way a run ends. _Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-sonnet-5-5` • Thinking: `xhigh`_ Change-Id: I72f1c54e09a40be645f64abf5e57f4d8462db99b Signed-off-by: Thomas Kosiewski <tk@coder.com>
|
@codex review |
|
@codex security review |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
blob.Open returns a typed nil with its error, so the deferred close called Close on it and the command panicked. The command now keeps the store only after a good open. The tests end a run by a canceled context, SIGINT and SIGTERM, each within 10 seconds, and the runbook rule for the list reads right. _Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-sonnet-5-5` • Thinking: `xhigh`_ Change-Id: I476b43bbdfd4ec572f9c6339a791434c64ad4e87 Signed-off-by: Thomas Kosiewski <tk@coder.com>
…t-branch-tips Change-Id: I30900eb4023493334b2fa4b9dbc348001a94dae9 Signed-off-by: Thomas Kosiewski <tk@coder.com>
|
@codex review |
|
@codex security review |
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Why
A repository with a branch at a blob, a tree or an annotated tag fails every hydration, so git reads of it answer 500. #860 stops new ones. A repository that an older build already wedged stays wedged, because
repair-refsremoved only refs that git can never lock.What changed
openstorage repair-refsreads the object type of eachrefs/heads/tip from the repository's packs in the blob store. It lists a branch at a blob, a tree or an annotated tag, and--yesdeletes it with the same compare-and-swap as before.cli.mdand the cmd README describe both kinds of ref.Scope
--data-dir), because the tip types come from the packs. A repository with no branch still needs the database URL only.Blast Radius
Operator command only. A run downloads the registered packs of the repository into a temporary directory under
$TMPDIRand removes it when the command ends. A delete touches only the refs that the list shows, under the old guards: the default branch is kept, a lost compare-and-swap is reported and not retried, and a dry run changes nothing.Verification
ls-remoteandclonewith 500, the dry run lists the three,--yesdeletes them, andcloneworks after. Tags at a blob stay, a missing tip is kept, and a lost compare-and-swap keeps its ref.ls-remoteandcloneanswer 500, the dry run lists them,--yesdeletes them, andls-remoteandclonework.Generated with
xum• Model:anthropic:claude-sonnet-5-5• Thinking:xhigh