Skip to main content

Crate git_pincer

Crate git_pincer 

Source
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 loop
  • cli / 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.