Skip to content

Fix sync issue - #38

Merged
LeviXIII merged 5 commits into
mainfrom
fix-sync-issue
Sep 9, 2026
Merged

Fix sync issue#38
LeviXIII merged 5 commits into
mainfrom
fix-sync-issue

Conversation

@TimRl

@TimRl TimRl commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

fix: recover interrupted syncs without recommitting remote files

Summary

Prevent files left by an interrupted merge from being mistaken for new local work. Frontier now verifies remote-equivalent files against Git commits, the index, file mode, and actual disk bytes before excluding them from local commits.

The corresponding Codex PR consumes Frontier’s authoritative conflict list and carries the analyzed Git snapshot through merge completion.

Changes

  • Fetch remote history before classifying working-tree files as local changes.
  • Detect files that are byte-, mode-, index-, and commit-identical to the fetched remote.
  • Exclude verified remote-equivalent files from LFS uploads and local commits.
  • Adopt exact remote blobs into the index so interrupted syncs can fast-forward normally.
  • Preserve missing files, local edits, staged differences, binary content, and executable-mode changes.
  • Filter fully identical committed files from conflict analysis.
  • Return the analyzed local, remote, and merge-base commits with conflict results.
  • Reject merge completion when local or remote history changes after analysis.
  • Complete verified divergent histories without creating stale merge commits.
  • Stage valid LFS pointers directly without downloading or hydrating their media.
  • Support index inspection and updates through both native Git and the built-in Git adapter.
  • Resolve both Electron and Code executable names in cached macOS VS Code installations.

Test Checklist

  • Verify identical-file detection through native and built-in Git adapters.
  • Preserve missing, modified, staged, binary, and mode-different files.
  • Recover 1,500 interrupted remote additions without a local recovery commit.
  • Fast-forward 1,500 verified remote-equivalent files.
  • Converge histories containing a prior identical-pointer commit.
  • Reject merge completion when the remote advances after analysis.
  • Stage LFS pointers without hydrating media.
  • Validate current and legacy macOS VS Code executable names.
  • Run the VS Code test suite and package successfully with cached VS Code 1.135.0.

Fetch before classifying work, exclude only byte-, mode-, index-, and commit-identical remote residue, and adopt verified remote blobs into the merge index. Prevent redundant LFS uploads and commits while preserving missing, edited, staged, and binary content.
Resolve both Electron and Code executable names within macOS app bundles, preserve valid supplied paths, and report the underlying startup error. Add six regression checks for legacy and current names, platform isolation, and invalid cached paths.

Validated with all 241 tests and a successful vsce package run using cached VS Code 1.135.0.
@TimRl TimRl self-assigned this Sep 1, 2026
TimRl and others added 3 commits September 1, 2026 13:52
Adopt verified remote-equivalent files before fast-forwarding, pin analyzed merge heads through completion, and stage valid LFS pointers without hydrating media.

Cover 1,500-file recovery, stale merge snapshots, and pointer-only staging.
Add a mergeSnapshot property to SCMManager to ensure that the conflict list is verified against the exact commits during merge resolution. Update assertMergeSnapshot to abort merges when local or remote history changes, preventing silent reverts. Enhance unit tests to validate the forwarding of merge snapshots and uploaded LFS files during sync operations.
@LeviXIII
LeviXIII merged commit 23c4359 into main Sep 9, 2026
3 checks passed
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.

2 participants