Skip to content

chore(fork): Rebuild the integration branch on upstream 0.5.5.9000 - #11

Merged
krlmlr merged 9 commits into
forkfrom
claude/fork-42ve6t
Sep 12, 2026
Merged

krlmlr merged 9 commits into
forkfrom
claude/fork-42ve6t

Conversation

@krlmlr

@krlmlr krlmlr commented Aug 17, 2026

Copy link
Copy Markdown
Owner

The integration branch: r-lib/cpp11@7d0e4ac plus the patch stack, squashed in lexicographic branch order. This is what krlmlr.r-universe.dev builds and what duckdb-r vendors.

Nothing under .github/workflows/ is touched — the tree there is byte-identical to upstream's. CI comes from a long-lived draft pull request from fork into main instead, since upstream's R-CMD-check already triggers on pull_request against main. The refresh is a Claude skill invoked by a scheduled routine rather than an Actions workflow: resolving these conflicts needs judgement, and a workflow rebuilding fork would have to push workflow files back on every run, which GITHUB_TOKEN cannot do.

Nine patches. b-warning-copy and f-source-vectorize are gone — upstream r-lib#493 fixes the root cause of r-lib#295 that the first worked around, and r-lib#492 implements what the second did. Both branches now merge upstream and resolve to the removal of the feature, so the next sync deletes them and records the disposition.

The nine, in the order they integrate:

  • a-fork-infra — Pull config, the refresh skill, docs
  • b-extptr-leak — premature release on move
  • b-proxy-default-constructor — defaulted copy constructor
  • f-deprecate-explicit[[deprecated]] on the implicit conversions
  • f-end-cpp11-exEND_CPP11_EX()
  • f-extptr-protprot argument
  • f-multi-dotgsub() for the symbol prefix
  • f-types-src-include — types header in src/include/
  • f-vendor-datedate and overwrite

Every patch branch contains upstream's main as an ancestor, brought in by a merge rather than a rebase, so each keeps its own history and its merge commit records how its conflicts were resolved.

Each of the nine commits here applies to 7d0e4ac on its own, and applying all nine in reverse order yields an identical tree — they commute, so the stack has no internal ordering dependency and any one patch can be dropped or upstreamed without disturbing the rest.

This branch is rebuilt from scratch on every refresh and should never be merged into by hand; this PR exists to review the state, not to establish a habit.

Verification

Against an install of this branch: clang-format --dry-run -Werror clean on every touched header, air format . leaves the tree unchanged, the full R suite passes, and the whole cpp11test C++ suite passes after clean_dll() — including the fork's external_pointer-C++ and upstream's template test, which is the r-lib#493 regression test and passes without the dropped workaround.

🤖 Generated with Claude Code

https://claude.ai/code/session_01K8MneV8KqHYUuC8fWV3X5Q

@krlmlr
krlmlr merged commit 6c64be8 into fork Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant