chore(cpan-reports): refresh + AGENTS.md rebase --ours/--theirs warning#601
Merged
chore(cpan-reports): refresh + AGENTS.md rebase --ours/--theirs warning#601
Conversation
4a72824 to
4d19735
Compare
Pass: 1062 → 1220 modules Fail: 3089 → 3458 modules
1 task
fglock
added a commit
that referenced
this pull request
Apr 29, 2026
If a broken rebase drops your commit and you force-push the branch to a SHA that equals master's HEAD, GitHub auto-CLOSES the PR. Pushing the corrected SHA back does NOT reopen it — `gh pr reopen <n>` is required. Add a verification step to check `gh pr view --json state,files` after any force-push. This actually happened on PR #601 during the cpan-reports refresh.
During rebase, `--ours` refers to the upstream target (not the branch being rebased), which is the opposite of merge. Using `git checkout --ours <file>` to "keep our work" during a rebase conflict silently takes the upstream version, makes the replayed commit empty, and rebase drops it without error. Adds: - A warning block with merge vs rebase semantics, the safe pattern (`--theirs` to keep your work during rebase), a verification step (`git log --oneline <upstream>..HEAD`), and reflog recovery. - An incident-log row for the 2026-04-29 near-miss on the cpan-reports refresh PR.
Add the official quote from git-rebase(1) and a link to the docs so future agents (and humans) can confirm this isn't folklore.
If a broken rebase drops your commit and you force-push the branch to a SHA that equals master's HEAD, GitHub auto-CLOSES the PR. Pushing the corrected SHA back does NOT reopen it — `gh pr reopen <n>` is required. Add a verification step to check `gh pr view --json state,files` after any force-push. This actually happened on PR #601 during the cpan-reports refresh.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two related changes from the same session:
1. CPAN compatibility report refresh
Refresh from the background random tester:
Files:
dev/cpan-reports/cpan-compatibility-{pass,fail}.dat,dev/cpan-reports/cpan-compatibility.md.2. AGENTS.md: rebase
--ours/--theirsare swappedWhile preparing this PR I hit a near-miss: resolving a rebase conflict with
git checkout --ours <file>silently took the upstream version, made the replayed commit empty, and rebase dropped it. Recovered via reflog. Then GitHub auto-closed this PR because the force-push had momentarily set the branch to master's HEAD.AGENTS.mdnow documents:git-rebase(1)quote: "the sides are swapped" — https://git-scm.com/docs/git-rebase).--theirsto keep your work during a rebase conflict.git rebase --continue:git log --oneline <upstream>..HEAD(empty = your commit was dropped).git show :2:<file>/git show :3:<file>.gh pr reopen <n>.Test plan