Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
666584a
fix(gix-tix): keep a base visible without stack commits
codex Aug 24, 2026
79b8116
fix(gix-tix): copy the displayed identifier
codex Aug 24, 2026
5ea1536
fix(gix-tix): preserve review return pins during rewrites
codex Aug 24, 2026
a38a65a
feat(gix-tix): add view selection by entry number
codex Aug 24, 2026
8fcd55a
fix(gix-tix): allow pins on displayed hidden bases
codex Aug 24, 2026
ffcb7a9
fix(gix-tix): allow amending active reviews
codex Aug 24, 2026
6eb0183
fix(gix-tix): ignore pending ancestry outside the view
codex Aug 24, 2026
abb71ba
fix(gix-tix): centralize edit scope policy
codex Aug 25, 2026
a821201
fix(gix-tix): choose ambiguous topology paths
codex Aug 25, 2026
a9ac984
fix(gix-tix): retain reviews when checkout is blocked
codex Aug 25, 2026
11273ca
fix(gix-tix): amend review worktree changes
codex Aug 25, 2026
ba05e31
feat(gix-tix): copy-insert active reviews
codex Aug 25, 2026
a428f72
fix(gix-tix): rebase reviewed sibling stacks
codex Aug 25, 2026
d493922
change(gix-tix)!: select insert sources before targets
codex Aug 25, 2026
53b257b
feat(gix-tix): render review commits as graph diamonds
codex Aug 25, 2026
cef0b93
feat(gix-tix): highlight checked-out reviews
codex Aug 25, 2026
faad29d
fix(gix-tix): preserve contrast on review highlights
codex Aug 25, 2026
ba0f101
feat(gix-tix): add commit command aliases
codex Aug 25, 2026
6d95a42
feat(gix-tix): push the tix/HEAD branch in the background
codex Aug 25, 2026
8123b17
feat(gix-tix): fetch a configured remote with progress
codex Aug 25, 2026
3c91ee7
fix(gix-tix): prioritize the active review tree
codex Aug 25, 2026
d0cefcf
Document review ownership for out-of-scope changes
codex Aug 25, 2026
59b508a
feat(gix-worktree): create linked worktrees
Byron Aug 25, 2026
b884093
feat(gix-tix): add a worktree switcher
codex Aug 25, 2026
492c580
feat(gix-tix): compact history beside stacked changes
codex Aug 25, 2026
94f6d04
fix(gix-tix): show worktrunk selection before rebind
codex Aug 25, 2026
c697070
feat(gix-tix): present worktrunks as a compact table
codex Aug 25, 2026
d39c069
feat(gix-tix): filter worktrunks by name
codex Aug 25, 2026
f7a5783
feat(gix-tix): create branches while switching worktrunks
codex Aug 25, 2026
f9d5667
fix(gix-tix): make worktrunk previews incremental
codex Aug 25, 2026
82ba516
fix(gix-tix): compile edit handling on Rust 1.88
codex Aug 28, 2026
5ee12b8
feat(gix-worktree): remove linked worktrees safely
Byron Aug 26, 2026
7be656c
feat(gix-tix): remove worktrees from CLI and switcher
codex Aug 26, 2026
6522878
feat(gix-tix): show worktree table non-interactively
codex Aug 26, 2026
1e16653
fix(gix-tix): preserve compact history during key repeats
codex Aug 26, 2026
07a433f
feat(gix-tix): add repeatable trace output
codex Aug 26, 2026
3571e27
feat: make trace output independently configurable
Byron Aug 26, 2026
d878e5b
change!: remove full-screen progress mode
Byron Aug 28, 2026
166cf47
feat(gix-tix): retry rejected pushes with force-with-lease
codex Aug 26, 2026
1928b80
fix(gix-tix): adapt history detail to available width
codex Aug 26, 2026
22bf4b4
fix(gix-tix): align only visible history rows
codex Aug 26, 2026
0d2fd59
fix(gix-tix): preserve the graph in compact history
codex Aug 26, 2026
c2ed3c5
feat(gix-tix): navigate worktrunk search with ctrl-p and ctrl-n
codex Aug 26, 2026
ce58c3f
fix(gix-tix): put worktrunk status below its list
codex Aug 26, 2026
8f26853
fix(gix-tix): avoid redundant worktrunk metadata work
codex Aug 26, 2026
256ced8
fix(gix-tix): preserve detail before dropping metadata
codex Aug 26, 2026
4c97dc6
fix(gix-tix): support worktree picker diagnostics
codex Aug 26, 2026
e947ce3
fix(gix-tix): batch worktree picker metadata
codex Aug 26, 2026
223dba7
fix(gix-tix): replay diagnostics through worktree picker
codex Aug 26, 2026
5feabe1
feat: add worktree add and remove commands
codex Aug 26, 2026
a98c82d
feat(gix-tix): expose HTTP client features
codex Aug 26, 2026
18a27b7
fix(gix-tix): show HEAD in plain history
codex Aug 26, 2026
9549d56
fix(gix-tix): ignore non-checkout symbolic pins
codex Aug 27, 2026
e4284ee
fix(gix-tix): finalize path-scoped spills
codex Aug 27, 2026
ef89645
fix(gix-tix): allow insertion at hidden boundaries
codex Aug 27, 2026
e8114ee
fix(gix-tix): keep conflict cancellation in the TUI
codex Aug 27, 2026
69c8751
fix(gix-tix): paste unique change IDs
codex Aug 27, 2026
bd5c69b
fix(gix-tix): load resized history rows before drawing
codex Aug 28, 2026
073827e
fix(gix-tix): keep top-level shortcut prefixes global
codex Aug 28, 2026
3d5e3b1
feat(gix-tix): offer the configured author while rewording
codex Aug 29, 2026
d5bc8ed
fix(gix-tix): keep push status out of the footer
codex Aug 29, 2026
63d5de3
fix(gix-tix): let `tix amend` finish conflict resolution
codex Aug 29, 2026
6b42375
fix(gix-tix): preserve hidden refs after worktree switch
codex Aug 31, 2026
0d01c30
fix: keep enrichment notes visible on selected `HEAD` commits
codex Sep 1, 2026
03f8d75
feat(gix-tix): make agent trailer suggestions configurable
codex Sep 1, 2026
6c94afb
Clarify `--no-alt-screen` as a debugging option
codex Sep 2, 2026
9e20ad0
feat(gix-tix): highlight the configured author
codex Sep 4, 2026
fd15c82
fix(gix-tix): preserve pending ancestry when rewording
codex Sep 4, 2026
c7f1508
feat(gix-tix): compact conventional prefixes in history
codex Sep 6, 2026
629702a
fix(gix-tix): preserve history columns when overlays close
codex Sep 6, 2026
8df8ef1
feat(gix-tix): confirm undo and redo with a second key press
codex Sep 6, 2026
2b6c7af
fix(gix-tix): allow pushing without the actions prefix
codex Sep 7, 2026
60ee12c
feat(gix-tix): show diff statistics in reword editors
codex Sep 7, 2026
64c6c07
feat(gix-tix): use one branch color in history
codex Sep 7, 2026
6a5ee8e
fix(gix-tix): keep pinned hidden tips visible
codex Sep 7, 2026
2ef5f25
feat(gix-tix): pin related history from the view menu
codex Sep 7, 2026
99ace5b
feat: add automatic merges of named tips
codex Sep 7, 2026
4381a7b
Make planned reference destinations explicit
codex Sep 8, 2026
74a50db
Share commit replay and finalization across rewrite paths
codex Sep 8, 2026
ccfad19
Distinguish unloaded graph frontiers from root commits
codex Sep 8, 2026
2b7034a
Complete rewrites and checkout within one operation
codex Sep 8, 2026
32c2550
Use snapshots for AutoMerge inputs
codex Sep 8, 2026
0a907a9
Derive grouped shortcuts from the command catalog
codex Sep 8, 2026
db8df19
feat(gix-tix): track unnamed AutoMerge inputs by change ID
codex Sep 8, 2026
05356ac
feat(gix-tix): discard selected worktree changes
codex Sep 8, 2026
4985c07
fix(gix-tix)!: embed action shortcuts in their verbs
codex Sep 8, 2026
d17094a
feat(gix-tix): create detached worktrees with source pins
codex Sep 8, 2026
6366ee8
feat(gix-tix): toggle hidden history directly with `Shift-H`
codex Sep 8, 2026
5fb25a6
fix(gix-tix): keep the command-menu hint in keyboard help
codex Sep 8, 2026
47a2c78
fix(gix-tix)!: hand worktree switches back to the shell
codex Sep 10, 2026
a6f0275
fix(gix-tix): leave the date separator uncolored
codex Sep 10, 2026
44dde66
fix(gix-tix): retain stashes when restoration fails
codex Sep 10, 2026
796ab27
fix(gix-tix): keep metadata-only descendants fully replayed
codex Sep 11, 2026
2c66020
feat(gix-tix): track refackiewed patches with stable patch IDs
codex Sep 11, 2026
188b120
feat(gix-tix): autosquash marked commits during explicit rebases
codex Sep 11, 2026
c06c8bc
feat(gix-tix): highlight autosquash markers in history
codex Sep 11, 2026
c55b22b
fix(gix-tix): delete AutoMerge commits without moving an unrelated HEAD
codex Sep 11, 2026
b717804
feat(gix-tix): explain and group AutoMerge input symbols
codex Sep 11, 2026
4ab7f2e
fix(gix-tix): track detached offspring from unpinned sources
codex Sep 11, 2026
0dbddac
feat(gix-tix): pin detached worktrees from the ref-tree
codex Sep 11, 2026
5aaa77b
feat(gix-tix): transplant selected commit trees
codex Sep 11, 2026
4cb961e
feat(gix-tix): add optional auto-stashing to time travel
codex Sep 11, 2026
e8e3d92
fix(gix-tix): always copy the commit hash before its change ID
codex Sep 11, 2026
590c497
feat(gix-tix): preserve ordinary merges during rebase
codex Sep 12, 2026
57752de
feat(gix-tix): transplant merge trees and freeze copied AutoMerges
codex Sep 12, 2026
829f894
feat(gix-tix): accept explicit messages for enrichment notes
codex Sep 12, 2026
7c3d5c6
fix(gix-tix): refuse to push unfinished visible history
codex Sep 12, 2026
85d9dd8
Require isolated test repositories and shared Git helpers
Byron Sep 12, 2026
7da4083
Isolate all Git subprocess helpers used by tests
Byron Sep 12, 2026
bffd2ba
Keep workspace tests inside disposable repositories
Byron Sep 12, 2026
8eb9564
fix(gix-tix): Isolate Tix tests from the invoking worktree and enviro…
codex Sep 12, 2026
e72a800
fix(gix-tix): preserve staged changes when rewording
codex Sep 12, 2026
62d349a
fix(gix-tix): validate only the new commit parent
codex Sep 12, 2026
0020eef
feat(gix-tix): browse commands while holding a prefix key
codex Sep 13, 2026
ed2455a
fix(gix-tix): simplify travel hints for clean worktrees
codex Sep 13, 2026
b1e2437
fix(gix-tix): show background progress in the message area
codex Sep 13, 2026
c7a0d24
fix(gix-tix): recover when worktree removal interrupts the UI
codex Sep 13, 2026
5c4b0f6
feat(gix-tix): mark finished reviews as `refackiewed`
codex Sep 13, 2026
195e722
feat(gix-tix): create commits below HEAD without changing worktree files
codex Sep 13, 2026
f8c3138
fix(gix-tix): keep command palette input responsive
codex Sep 14, 2026
b62b306
feat(gix-tix): collapse untracked directories in worktree changes
codex Sep 14, 2026
b43455e
fix(gix-tix): preserve commits below a finished review
codex Sep 14, 2026
924a1a1
fix(gix-tix): make finishing reviews undoable
codex Sep 14, 2026
9eb863b
feat(gix-tix)!: expose operation history through `tix op`
codex Sep 14, 2026
841dc1e
fix(gix-tix): confine travel replay to its destination path
codex Sep 14, 2026
9717452
feat(gix-tix)!: retain paused rebases across CLI and TUI sessions
codex Sep 14, 2026
c0b899d
feat(gix-tix)!: auto-hide default-branch history at startup
codex Sep 14, 2026
8ae23af
feat(gix-tix): include remote-tracking branches in the ref-tree
codex Sep 14, 2026
8da6bef
fix(gix-tix): keep Windows editors attached to the console
codex Sep 14, 2026
2704151
fix(gix-tix): keep travel descendants attached to rewritten commits
codex Sep 14, 2026
ea76597
feat(gix-tix): make initial commit messages configurable
codex Sep 16, 2026
ab4e99f
feat(gix-tix): toggle changes panes with `Shift-C`
codex Sep 20, 2026
5ee1679
fix(gix-worktree): keep descendants of ignored directories excluded
Byron Sep 21, 2026
5f6ae15
Cover nested ignores in Tix filesystem status refreshes
codex Sep 21, 2026
fca7e00
feat(gix-notify): extract filesystem monitoring and integrate it with…
Byron Sep 21, 2026
44c69ef
feat(gix-notify): own macOS filesystem notification delivery
Byron Sep 21, 2026
a1d60d6
feat(gix): add monitored status snapshots and integrate them with Tix
Byron Sep 21, 2026
87571d9
feat(gix-fsmonitor): serve Git filesystem monitor clients
Byron Sep 21, 2026
3334273
Update locked `rustls` to address `RUSTSEC-2026-0285`
Byron Sep 21, 2026
6b78770
fix(gix-tix): preserve other refs when creating on a hidden base
codex Sep 25, 2026
1c0e97e
fix(gix-tix): include all commits in rebase todos with ancestor pins
codex Sep 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,13 @@
test-threads = 6
fail-fast = false

[[profile.default.overrides]]
filter = 'test(status::monitor::tests::)'
slow-timeout = { period = '30s', terminate-after = 4 }

[[profile.default.overrides]]
filter = 'package(gix-fsmonitor)'
slow-timeout = { period = '30s', terminate-after = 4 }

[profile.with-xml.junit]
path = "junit.xml"
19 changes: 19 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,25 @@ Follow "purposeful conventional commits" style:

### Test Best Practices

- Tests must be isolated from the developer's checkout, other worktrees, shared
Git metadata, and user configuration. Use disposable repositories provided by
`gix-testtools`, such as `scripted_fixture_writable()`; never mutate a shared
read-only fixture or use the source checkout as a test repository.
- Git invocations in test code must go through `gix_testtools::git()`,
`git_command()`, or fixture scripts executed by `gix-testtools`. Do not spawn
Git directly with `Command::new("git")` or ad hoc subprocess wrappers. If a test needs unsupported
command options, extend the shared isolated helper instead of bypassing it.
`run_git()` and `invoke_bash()` share this isolation. Subprocesses that invoke
Git indirectly must use `gix_testtools::configure_git_environment()` too.
Tests of APIs that read the process environment must use
`gix_testtools::run_in_isolated_process()` before exercising those APIs or
changing environment variables, so they cannot race other tests.
- Setting a subprocess's working directory or passing `git -C` is not isolation:
inherited `GIT_DIR`, `GIT_WORK_TREE`, `GIT_COMMON_DIR`, `GIT_INDEX_FILE`, or
object-directory variables can redirect operations outside the fixture. Tests
that exercise such overrides must scope them to disposable test repositories.
Open repositories through the crate's isolated test helper or isolated `gix`
options, with only test-specific configuration overrides.
- Run tests before making changes to understand existing issues
- Use `GIX_TEST_IGNORE_ARCHIVES=1` when testing on macOS/Windows
- Journey tests validate CLI behavior end-to-end
Expand Down
110 changes: 74 additions & 36 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading