# Install fmdiff with Homebrew

Use FileMerge as a diff command for Subversion and Mercurial. Version 20150915 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:fmdiff
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install fmdiff
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:fmdiff
- **Package manager:** Homebrew
- **Version:** 20150915
- **Source summary:** Use FileMerge as a diff command for Subversion and Mercurial
- **Homepage:** <https://github.com/brunodefraine/fmscripts>
- **Repository:** <https://github.com/brunodefraine/fmscripts>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- filemerge (alias)
- fmdiff (alias)
- fmdiff3 (alias)
- fmmerge (alias)
- fmresolve (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 20150915
## Project history and usage

fmdiff is part of the fmscripts collection, a small set of Bash wrapper scripts that make Apple's FileMerge usable as a command-line diff and merge tool for Subversion and Mercurial workflows on macOS.

### Project history

The official repository was created in 2015 and the README describes the motivation: FileMerge ships with Apple's developer tools and is useful interactively, but its `opendiff` command does not match the blocking argument conventions expected by tools such as Subversion. The scripts adapt FileMerge to those command-line interfaces.

### Adoption history

Official evidence points to a niche, Mac-specific developer utility rather than a broad platform project. Its adoption surface is package-manager installation plus direct Makefile installation into `/usr/local/bin` for users who want FileMerge in Subversion or Mercurial.

### How it is used

The README documents `fmdiff` as a `diff`-like command for `svn diff --diff-cmd`, `fmdiff3` as a `diff3`-like command for update and merge operations, `fmresolve` for resolving existing Subversion conflicts, and `fmmerge` as an external merge tool.

### Why package nerds care

fmdiff is package-nerd significant as the kind of glue utility Homebrew preserves well: a small script set that normalizes a GUI developer tool into classic Unix command contracts. It also reflects an era when Mac developers frequently bridged Xcode tools with Subversion and Mercurial command-line workflows.

### Timeline

- 2015: The fmscripts repository was created.
- 2015: The repository README documented FileMerge wrappers for Subversion and experimental Mercurial support.

### Related projects

- Related official concepts and tools include Apple's FileMerge and `opendiff`, Subversion, Mercurial, `diff`, `diff3`, and the sibling fmscripts commands `fmdiff3`, `fmresolve`, `fmmerge`, and `filemerge`.

### Sources

- <https://api.github.com/repos/brunodefraine/fmscripts>
- <https://github.com/brunodefraine/fmscripts>
- <https://raw.githubusercontent.com/brunodefraine/fmscripts/master/README.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/fmdiff.yml](https://github.com/mxcl/pkgdb/blob/main/combined/fmdiff.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
