Skip to content

[PHP] Add an explicit make-identical files-pull intent - #538

Open
adamziel wants to merge 7 commits into
adamziel/design-import-write-classfrom
codex/make-identical-pull-intent
Open

[PHP] Add an explicit make-identical files-pull intent#538
adamziel wants to merge 7 commits into
adamziel/design-import-write-classfrom
codex/make-identical-pull-intent

Conversation

@adamziel

@adamziel adamziel commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

files-pull now accepts --intent=copy-changes and --intent=make-identical, with copy-changes retaining the existing default in this PR.

make-identical combines the remote-index difference with the inverse of the retained-to-fresh local-index difference. Remote entries win, so local-only selected paths are removed and local edits or deletions are restored. The intent and one files-pull plan cursor provide durable resume state. preserve-local requires copy-changes.

Stacked on #468, after #541.

Testing

  • ../vendor/bin/phpunit Import/PushPlanTest.php Import/PullIntentReconciliationTest.php Import/PullStateTest.php Import/FilesPullStateTest.php Import/OnlyFilesPathPrefixTest.php Import/CliHelpTest.php Import/CommandAliasTest.php Import/IndexLifecycleOwnershipTest.php Import/PullFilterOptionTest.php Import/OnlyFilesPathPrefixDiffTest.php Import/CurlTimeoutRecoveryTest.php
  • 123 tests, 1,350 assertions

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Pull pipeline performance — large-directory

Site: large-directory · 2,000+ plus targeted file-transfer scenarios files · 10,000 posts · 25,000 postmeta · PHP 8.5.9

trunk baseline unavailable — showing PR numbers only.

Stage Wall time Resume attempts Status Details
playground-sqlite-db-pull 9.00 s 1 condition=db-pull in PHP.wasm
runtime=php.wasm 8.3
wp_mysql_parser=enabled
mode=lexer
native_lexer=verified
native_token_stream=WP_MySQL_Native_Token_Stream
native_token_count=18
native_parser=selected
playground-sqlite-db-apply 3.42 s 1 condition=db-apply to SQLite in PHP.wasm
runtime=php.wasm 8.3
wp_mysql_parser=enabled
mode=parser
native_lexer=verified
native_token_stream=WP_MySQL_Native_Token_Stream
native_token_count=18
native_parser=verified
native_ast=WP_MySQL_Native_Parser_Node
sqlite_driver_parser=verified
Total 12.42 s

Numbers carry runner noise; treat single-run deltas as directional, not authoritative.

📈 Trunk performance history — commit-by-commit timeline.

@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 14b2aba to 3b5ac15 Compare August 10, 2026 10:43
@adamziel
adamziel force-pushed the codex/file-index-diff-processor branch from 7d116a5 to 1de113c Compare August 10, 2026 10:43
@adamziel
adamziel changed the base branch from codex/file-index-diff-processor to adamziel/design-import-write-class August 10, 2026 10:45
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from 84a87f3 to b967237 Compare August 10, 2026 10:59
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 3b5ac15 to 1ada753 Compare August 10, 2026 11:00
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from b967237 to b7faa13 Compare August 10, 2026 11:11
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 1ada753 to 50785be Compare August 10, 2026 11:11
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from b7faa13 to 2d1c091 Compare August 10, 2026 11:17
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 50785be to 9f1d752 Compare August 10, 2026 11:17
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from 2d1c091 to e8c00c8 Compare August 10, 2026 11:24
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 9f1d752 to 1bddf16 Compare August 10, 2026 11:24
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from e8c00c8 to 94a3fee Compare August 10, 2026 11:42
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 1bddf16 to 3a46835 Compare August 10, 2026 11:42
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from 94a3fee to a9913c2 Compare August 10, 2026 13:55
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 3a46835 to 82647fb Compare August 10, 2026 13:55
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from a9913c2 to 39c8c30 Compare August 11, 2026 00:02
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 82647fb to d051cb6 Compare August 11, 2026 00:02
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from 39c8c30 to e069996 Compare August 11, 2026 00:15
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from d051cb6 to 27c35ce Compare August 11, 2026 00:15
@adamziel
adamziel force-pushed the adamziel/design-import-write-class branch from e069996 to 644e58f Compare August 11, 2026 00:28
@adamziel
adamziel force-pushed the codex/make-identical-pull-intent branch from 27c35ce to f985ccf Compare August 11, 2026 00:28
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