Commit Graph

6 Commits

Author SHA1 Message Date
jif-oai
de63774a9e R1 2025-10-16 11:17:59 +01:00
jimmyfraiture
637713178d Fix merge 2 2025-10-10 17:15:45 +02:00
jimmyfraiture
8c51d50dbb Merge remote-tracking branch 'origin/main' into jif/async-undo-2
# Conflicts:
#	codex-rs/Cargo.lock
#	codex-rs/core/Cargo.toml
#	codex-rs/core/src/state/session.rs
#	codex-rs/core/tests/suite/mod.rs
#	codex-rs/tui/src/chatwidget.rs
#	codex-rs/tui/src/history_cell.rs
2025-10-10 16:52:54 +02:00
pakrym-oai
5c42419b02 Use assert_matches (#4756)
assert_matches is soon to be in std but is experimental for now.
2025-10-05 21:12:31 +00:00
jimmyfraiture
1eb368a095 Fix untracked files 2025-10-02 17:11:47 +01:00
jif-oai
e0fbc112c7 feat: git tooling for undo (#3914)
## Summary
Introduces a “ghost commit” workflow that snapshots the tree without
touching refs.
1. git commit-tree writes an unreferenced commit object from the current
index, optionally pointing to the current HEAD as its parent.
2. We then stash that commit id and use git restore --source <ghost> to
roll the worktree (and index) back to the recorded snapshot later on.

## Details
- Ghost commits live only as loose objects—we never update branches or
tags—so the repo history stays untouched while still giving us a full
tree snapshot.
- Force-included paths let us stage otherwise ignored files before
capturing the tree.
- Restoration rehydrates both tracked and force-included files while
leaving untracked/ignored files alone.
2025-09-23 16:59:52 +01:00