mamediff

Crates.iomamediff
lib.rsmamediff
version0.5.0
created_at2025-01-05 08:04:50.397766+00
updated_at2025-09-04 14:20:17.636251+00
descriptionA TUI editor for managing unstaged and staged Git diffs
homepagehttps://github.com/sile/mamediff
repositoryhttps://github.com/sile/mamediff
max_upload_size
id1504566
size564,480
Takeru Ohta (sile)

documentation

README

mamediff

mamediff Documentation Actions Status License

A TUI editor for managing unstaged and staged Git diffs. Inspired by Magit, this tool focuses on providing a simpler, specialized interface for staging, unstaging, and discarding diffs.

mamediff

Installation

Pre-built binaries

Pre-built binaries for Linux and MacOS are available in the releases page.

// An example to download the binary for Linux.
$ VERSION=0.4.0
$ curl -L https://github.com/sile/mamediff/releases/download/v${VERSION}/mamediff-${VERSION}.x86_64-unknown-linux-musl -o mamediff
$ chmod +x mamediff
$ ./mamediff -h

With Cargo

If you have installed cargo (the package manager for Rust), you can install mamediff with the following command:

$ cargo install mamediff
$ mamediff -h

Usage

Just execute mamediff command within a Git directory. The available key bindings will be displayed in the top-right corner of the window.

$ mamediff
->| Unstaged changes (1 files)                     | (q)uit [ESC,C-c]
  :   modified src/main.rs (1 chunks, -1 +1 lines) | (↓)        [C-n]
  :     @@ -1,3 +1,3 @@                            | (→)        [C-f]
  :        fn main() {                             | (t)oggle   [TAB]
  :       -    println!("Hello, World!");          | (s)tage
  :       +    println!("Hello, mamediff!");       | (D)iscard
  :        }                                       +---- (H)ide -----
  | Staged changes (0 files)

Configuration

You can customize key bindings and behavior using a configuration file:

$ mamediff --config /path/to/config.jsonc

Or set the MAMEDIFF_CONFIG_FILE environment variable to specify the configuration file path.

For reference, see the default configuration file.

You Might Also Be Interested In

Commit count: 367

cargo fmt