Expand description
git-pincer: a Git conflict-resolution tool that lives in your terminal.
Provides an IDEA-style three-pane conflict resolution TUI (local | result | remote),
and can also launch merge / rebase / pull / cherry-pick / revert directly,
taking over the whole conflict-resolution flow that follows.
§Stability
The product of this crate is the git-pincer CLI; semantic versioning
applies to the command-line interface and its behavior. The library
modules below are exposed for internal organization and testing — their
APIs may change between minor versions without notice.
Module overview:
merge— diff3 three-way merge core and conflict-marker parsing (pure logic, ported from toolkit-rs)git— thin wrapper around the native git CLI (shell out; inherits all user config)i18n— runtime language detection and message catalogs (locales/*.conf)config— user configuration file (theme / key bindings / CLI-option defaults)app— state machine of a conflict-resolution session (pure logic, terminal-free)ui— ratatui three-pane rendering and the key-event loopcli/commands— clap subcommand definitions and orchestration
Modules§
- app
- State machine of a conflict-resolution session (pure logic; touches neither the terminal nor git).
- cli
- CLI definition and subcommand dispatch.
- commands
- Subcommand implementations.
- config
- User configuration file: locating, loading and parsing.
- git
- A thin wrapper around the native git CLI.
- i18n
- Runtime language selection and message lookup.
- merge
- Three-way merge core: diff3-style chunking built on top of two 2-way diffs from
similar. - ui
- ratatui three-pane rendering and the key-event loop.