You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(path-identity): support long Windows atomic replacement paths - #2934
On Windows, atomic_replace_existing now canonicalizes the parent of both paths and keeps the original leaf before calling ReplaceFileW, so replacement works beyond MAX_PATH (same approach as #2923).
One file: src-tauri/src/path_identity.rs (+82/-0), new test atomic_regular_replacement_supports_long_windows_paths.
Negative control: test fails on main (exit 101, atomic_replace_failed, inputs 327/288 UTF-16, no verbatim prefix); passes with fix.
Plan: .ac/plans/2926-path-identity-replacefile-long-path/plan-v3 (r1), Grinch PLAN_APPROVED + user approved. Grinch PASS on implementation and proof.
Known pre-existing local failure: verify_directory_reason_rejects_reparse_component (symlink privilege OS 1314 on the dev host), unrelated.
Step 9.5 delta triage: branch is behind origin/main by docs-only commits. Delta files: docs/agents/teams-and-workgroups.md, docs/concepts.md, docs/reference/cli.md. Classification: unrelated (documentation only, no overlap with src-tauri/src/path_identity.rs, no build/config/lockfile/CI change). No branch update; land via admin merge once current head CI is green.
CI on 0ad378f: first run failed only config::naming_migration::tests::two_scopes_cannot_lose_each_others_records (LockUnavailable, timing; naming_migration does not use path_identity). One rerun of the failed job on the same SHA passed. All checks green (13 pass, 7 skipped).
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
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.
Closes #2926
On Windows,
atomic_replace_existingnow canonicalizes the parent of both paths and keeps the original leaf before callingReplaceFileW, so replacement works beyond MAX_PATH (same approach as #2923).atomic_regular_replacement_supports_long_windows_paths.verify_directory_reason_rejects_reparse_component(symlink privilege OS 1314 on the dev host), unrelated.