Automic VaultAutomic Vault

brew

Install wiggle with Homebrew, apk, apt, MacPorts, Nix, zypper

Program for applying patches with conflicting changes. Version 1.3 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install wiggle

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install wiggle

MacPorts ports tree · devel/wiggle/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add wiggle

Alpine Linux edge package indexes · wiggle · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install wiggle

Debian stable package indexes · wiggle · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#wiggle

nixpkgs package indexes · pkgs/by-name/wi/wiggle/package.nix · source: api.github.com

openSUSE zypperverified · 92%
sudo zypper install wiggle

openSUSE Tumbleweed package metadata · wiggle · source: download.opensuse.org

overview

Package summary

Program for applying patches with conflicting changes

Commands and aliases

  • wiggle

history

Project history and usage

wiggle is Neil Brown's GPL command-line tool for applying patches when ordinary `patch` cannot match the target file cleanly, and for showing word-wise diffs. Its niche is the messy middle ground between a rejected patch and a full three-way merge: it tries to align the old text in a patch with the current file, apply every change somewhere, and mark unresolved conflicts for review.

Project history

Neil Brown announced the first public release of wiggle on the Linux kernel mailing list on May 19, 2003. The announcement described the core use case as applying patches that `patch` cannot apply because the original file has conflicting changes, especially when back-porting patches from development kernels onto stable kernels.

The name came from Andrew Morton's phrasing about wanting a tool to 'wiggle' a patch into a file. The first public announcement already included a tests directory, a patch-management helper script named `p`, and a note that a future visualization UI would be useful.

The manual page preserves the tool's long maintenance arc, with copyright lines spanning 2003, 2010-2013, and 2018-2020. GitHub releases list v1.0 through v1.3, with v1.3 published in October 2020.

Adoption history

wiggle's adoption has been specialized rather than mass-market. It is useful to kernel and distribution developers, downstream maintainers, and anyone carrying patch queues across drifting source trees. The GitHub repository showed about 108 stars and 9 forks in July 2026, but its more important adoption signal is its presence in Unix packaging ecosystems and its long-lived man page as a developer tool.

How it is used

A common workflow is to run `patch`, collect `.rej` files, then run `wiggle --replace originalfile originalfile.rej` for each rejected hunk. The user must still inspect the result, because wiggle can annotate unresolved conflicts and cannot prove semantic correctness. It also has merge, diff, extract, and browse modes; browse mode gives an ncurses-based inspection path for patches and conflicts.

Why package nerds care

wiggle matters because it encodes a very Unixy idea: keep the format and workflow of patches, but make the recovery path smarter at word granularity. For package maintainers carrying downstream patches, that can be the difference between manually rewriting a patch and letting a small tool salvage most of it while clearly marking the rest.

Timeline

  • 2003-05-19: Neil Brown announced the first public release on LKML.
  • 2010-2013: Maintained under Neil Brown's SUSE-era copyright line in the manual.
  • 2018-2020: Later maintenance period reflected in the manual page copyright line.
  • 2020-10-06: GitHub release records include v1.0 through v1.3, with v1.3 the latest listed release.

Related projects

  • wiggle is related to `patch`, `merge`, line-oriented diff tools, and patch-stack workflows used by kernel and distribution maintainers. Its distinctive feature is word-wise alignment and conflict reporting rather than simply rejecting hunks.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 13 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
wigglecliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.3
manager updated
local dataok
upstreamcurrent
latest detectedv1.3

https://github.com/neilbrown/wiggle

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:wiggle
Version1.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/wiggle
Homepagehttps://github.com/neilbrown/wiggle
Repositoryhttps://github.com/neilbrown/wiggle
Upstream docshttps://github.com/neilbrown/wiggle#readme
LicenseGPL-2.0-or-later
Source archivehttps://github.com/neilbrown/wiggle/archive/refs/tags/v1.3.tar.gz
Uses from macOSncurses
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namewiggle
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

wiggle 1.3-1

apply patches with conflicting changes

https://neil.brown.name/wiggle

sudo apt install wiggle
  • Section: vcs
  • Architecture: amd64
  • 3 dependencies
  • normalized package name match
  • Matched by: Wiggle
Debian stable package indexes · deb.debian.org · Debian stable package indexes: wiggle from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

wiggle

nix profile install nixpkgs#wiggle
  • normalized package name match
  • Matched by: Wiggle
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/wi/wiggle/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

wiggle 1.3-1

apply patches with conflicting changes

https://neil.brown.name/wiggle

sudo apt install wiggle
  • Section: universe/utils
  • Architecture: amd64
  • 3 dependencies
  • normalized package name match
  • Matched by: Wiggle
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: wiggle from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

wiggle 1.3-r0

Tool for applying patches with conflicts

https://github.com/neilbrown/wiggle

sudo apk add wiggle
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: wiggle
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Wiggle
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: wiggle from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

wiggle-doc 1.3-r0

Tool for applying patches with conflicts (documentation)

https://github.com/neilbrown/wiggle

sudo apk add wiggle-doc
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: wiggle
  • normalized package name match
  • Matched by: Wiggle
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: wiggle-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
zypper95%

wiggle 1.3-1.21

A Tool for Applying Patches with Conflicts

https://neil.brown.name/wiggle/

sudo zypper install wiggle
  • License: GPL-2.0-or-later
  • Category: Productivity/Text/Utilities
  • Architecture: x86_64
  • Source Package: wiggle
  • 3 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Wiggle
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: wiggle from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

wiggle

sudo port install wiggle
  • normalized package name match
  • Matched by: Wiggle
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/wiggle/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment