# wiggle を Homebrew, apk, apt, MacPorts, Nix, zypper でインストール

wiggle のインストール経路、実行ファイル、メタデータ、AI エージェント向けセキュリティノートを確認します。

## インストール

```sh
sudo av install brew:wiggle
```

追加のインストールコマンド:

### macOS

- Homebrew (100%):

```sh
brew install wiggle
```

  証拠: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install wiggle
```

  証拠: MacPorts ports tree: devel/wiggle/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add wiggle
```

  証拠: Alpine Linux edge package indexes: wiggle from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install wiggle
```

  証拠: Debian stable package indexes: wiggle from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#wiggle
```

  証拠: nixpkgs package indexes: pkgs/by-name/wi/wiggle/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install wiggle
```

  証拠: openSUSE Tumbleweed package metadata: wiggle from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## パッケージ情報

- **パッケージキー:** brew:wiggle
- **パッケージマネージャ:** Homebrew
- **バージョン:** 1.3
- **ソース概要:** Program for applying patches with conflicting changes
- **ホームページ:** <https://github.com/neilbrown/wiggle>
- **リポジトリ:** <https://github.com/neilbrown/wiggle>
- **生成日時:** 2026-08-03T19:37:03+00:00

## 実行可能ファイル

- wiggle (エイリアス)

## インストール挙動

- Bottle: 利用不可

## バージョンと鮮度

- ページ生成日: 2026-08-03
- マネージャ版: 1.3
## プロジェクトの歴史と使われ方

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.

### プロジェクトの歴史

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.

### 採用の歴史

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.

### 使われ方

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.

### パッケージ好きにとっての重要性

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.

### タイムライン

- 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.

### ソース

- <https://github.com/neilbrown/wiggle - upstream repository overview>
- <https://github.com/neilbrown/wiggle/blob/master/wiggle.1 - upstream manual page>
- <https://github.com/neilbrown/wiggle/releases - upstream release list>
- <https://lkml.iu.edu/hypermail/linux/kernel/0305.2/0762.html - first public release announcement>


## セキュリティノート

narrow executable package without higher-risk signals.

- **Geiger リスク:** グリーン / 低
- narrow executable package without higher-risk signals

## 他のパッケージマネージャ記録

- Debian apt - wiggle - 1.3-1: normalized package name match | Debian stable package indexes: wiggle from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | apply patches with conflicting changes | https://neil.brown.name/wiggle
- Nix - wiggle: normalized package name match | nixpkgs package indexes: pkgs/by-name/wi/wiggle/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - wiggle - 1.3-1: normalized package name match | Ubuntu 24.04 LTS package indexes: wiggle from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | apply patches with conflicting changes | https://neil.brown.name/wiggle
- apk - wiggle - 1.3-r0: normalized package name match | Alpine Linux edge package indexes: wiggle from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tool for applying patches with conflicts | https://github.com/neilbrown/wiggle
- apk - wiggle-doc - 1.3-r0: normalized package name match | Alpine Linux edge package indexes: wiggle-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tool for applying patches with conflicts (documentation) | https://github.com/neilbrown/wiggle
- zypper - wiggle - 1.3-1.23: normalized package name match | openSUSE Tumbleweed package metadata: wiggle from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | A Tool for Applying Patches with Conflicts | https://neil.brown.name/wiggle/
- MacPorts - wiggle: normalized package name match | MacPorts ports tree: devel/wiggle/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

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


## ソース

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