Skip to content

feat: make Zed and Git submodules interoperable - #96

Merged
ORESoftware merged 35 commits into
mainfrom
feat/git-submodule-interop
Aug 4, 2026
Merged

feat: make Zed and Git submodules interoperable#96
ORESoftware merged 35 commits into
mainfrom
feat/git-submodule-interop

Conversation

@ORESoftware

Copy link
Copy Markdown
Contributor

Summary

  • add opt-in zed install --git-submodules[=true|false] / ZED_PKG_GIT_SUBMODULES support
  • recursively synchronize and initialize submodules with an explicit checkout strategy before ordinary Zed resolution
  • add zed overtake --git-submodules to import .gitmodules packages into root workspace/dependency intent
  • retain .gitmodules and gitlinks as a reversible Git transport while Zed owns graph and integrity authority
  • append typed [[git-submodule]] provenance to .zpkg.lock without changing the canonical lock schema
  • verify exact path, package, version, URL, commit, deterministic artifact digest/size/format, name, and branch during frozen replay
  • keep standard lockfiles byte-for-byte unchanged when the extension is unused
  • update .cli-flags.toml, shell completions, focused tests, and interoperability documentation

Takeover contract

Each top-level submodule must contain a valid .zpkg.toml. Takeover refuses dirty .gitmodules, unsafe paths, duplicate package identities, non-gitlink workspace paths, dirty or mismatched submodule checkouts, and nested submodule drift. Imported packages become exact workspace dependencies and are installed through the existing complete solver and transactional materializer.

Verification

Local structural checks completed:

  • .cli-flags.toml parses as TOML
  • Clap ZED_PKG_* declarations and .cli-flags.toml environment keys match exactly
  • recursive deinit/sync/update/checkout flow exercised against local Git repositories
  • Rust delimiter/source structure checks passed

The execution image does not contain a Rust toolchain, so the repository's full GitHub Actions matrix is the authoritative compile, rustfmt, Clippy, unit, integration, frozen-lock, Windows-locking, Nix, and hardening validation for this draft.

ORESoftwareand others added 30 commits August 3, 2026 22:57
@ORESoftware
ORESoftware marked this pull request as ready for review August 4, 2026 05:26
@ORESoftware
ORESoftware merged commit dda1296 into mainAug 4, 2026
36 checks passed
@linear-code

Copy link
Copy Markdown

DEN-1612

Sign up for freeto 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

@ORESoftware