Stable v0.1.0

🔀 fit

Terminal-based merge conflict resolver written in Fortran

fit is a modern terminal-based tool for resolving Git merge conflicts. Features a three-pane TUI with side-by-side incoming/local comparison and live preview of the resolved file. Supports both interactive resolution and automated CI/CD workflows with command-line flags.

🎯 RPM Available 🏛️ AUR Available

Installation

fit is available for Fedora/RHEL, Arch Linux (AUR), macOS (Homebrew), and can be built from source using Make or the Fortran Package Manager (fpm).

Fedora / RHEL 9

# Add the musicsian repository (first time only) sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo # Install fit sudo dnf install fit

Arch Linux (AUR)

# Install via AUR helper yay -S fit

macOS (Homebrew)

# Tap the repository and install brew tap FortranGoingOnForty/fit brew install fit

From Source

# Prerequisites: gfortran >= 4.8 sudo dnf install gcc-gfortran make # Clone and build git clone https://github.com/FortranGoingOnForty/fit.git cd fit make sudo make install # Install to /usr/bin

Quick Start

Open a file with merge conflicts to start resolving:

# After a merge with conflicts git merge feature-branch # Open fit to resolve fit conflicted-file.txt # In the TUI: # - Press 'i' to choose incoming (remote) # - Press 'l' to choose local (your branch) # - Press 'b' to keep both versions # - Press 'n' to go to next conflict # - Press 's' to save and exit

Git Integration

Configure fit as your default merge tool:

# Configure fit as merge tool git config --global merge.tool fit git config --global mergetool.fit.cmd 'fit "$MERGED"' git config --global mergetool.fit.trustExitCode true # Then use during merge conflicts git merge feature-branch git mergetool # Opens fit for each conflicted file

Dependencies

  • Build: gfortran ≥ 4.8, make
  • Runtime: glibc, git