mirror of
https://github.com/openai/codex.git
synced 2026-05-03 21:01:55 +03:00
Remove ghost snapshots (#19481)
## Summary - Remove `ghost_snapshot` / `GhostCommit` from the Responses API surface and generated SDK/schema artifacts. - Keep legacy config loading compatible, but make undo a no-op that reports the feature is unavailable. - Clean up core history, compaction, telemetry, rollout, and tests to stop carrying ghost snapshot items. ## Testing - Unit tests passed for `codex-protocol`, `codex-core` targeted undo and compaction flows, `codex-rollout`, and `codex-app-server-protocol`. - Regenerated config and app-server schemas plus Python SDK artifacts and verified they match the checked-in outputs.
This commit is contained in:
@@ -1,21 +1,17 @@
|
||||
# codex-git-utils
|
||||
|
||||
Helpers for interacting with git, including patch application and worktree
|
||||
snapshot utilities. The crate also exposes a lightweight baseline API for
|
||||
internal directories that use git only as a resettable diff mechanism:
|
||||
`ensure_git_baseline_repository` preserves a usable `root/.git` baseline or
|
||||
creates one when it is missing or unusable, `reset_git_repository` replaces
|
||||
`root/.git` with a fresh one-commit baseline, and `diff_since_latest_init`
|
||||
returns structured file changes plus a unified diff from that baseline to the
|
||||
current directory contents.
|
||||
Helpers for interacting with git, including patch application. The crate also
|
||||
exposes a lightweight baseline API for internal directories that use git only
|
||||
as a resettable diff mechanism: `ensure_git_baseline_repository` preserves a
|
||||
usable `root/.git` baseline or creates one when it is missing or unusable,
|
||||
`reset_git_repository` replaces `root/.git` with a fresh one-commit baseline,
|
||||
and `diff_since_latest_init` returns structured file changes plus a unified
|
||||
diff from that baseline to the current directory contents.
|
||||
|
||||
```rust,no_run
|
||||
use std::path::Path;
|
||||
|
||||
use codex_git_utils::{
|
||||
apply_git_patch, create_ghost_commit, restore_ghost_commit, ApplyGitRequest,
|
||||
CreateGhostCommitOptions,
|
||||
};
|
||||
use codex_git_utils::{apply_git_patch, ApplyGitRequest};
|
||||
|
||||
let repo = Path::new("/path/to/repo");
|
||||
|
||||
@@ -27,13 +23,4 @@ let request = ApplyGitRequest {
|
||||
preflight: false,
|
||||
};
|
||||
let result = apply_git_patch(&request)?;
|
||||
|
||||
// Capture the current working tree as an unreferenced commit.
|
||||
let ghost = create_ghost_commit(&CreateGhostCommitOptions::new(repo))?;
|
||||
|
||||
// Later, undo back to that state.
|
||||
restore_ghost_commit(repo, &ghost)?;
|
||||
```
|
||||
|
||||
Pass a custom message with `.message("…")` or force-include ignored files with
|
||||
`.force_include(["ignored.log".into()])`.
|
||||
|
||||
Reference in New Issue
Block a user