LinuxCommandLibrary

combinediff

merge two incremental patches into one

TLDR

Combine two patches
$ combinediff [patch1.diff] [patch2.diff]
copy
Combine with custom context
$ combinediff -U [5] [patch1.diff] [patch2.diff]
copy
Strip path components
$ combinediff -p [1] [patch1.diff] [patch2.diff]
copy
Ignore whitespace changes
$ combinediff -w [patch1.diff] [patch2.diff]
copy
Decompress gzipped patches
$ combinediff -z [patch1.diff.gz] [patch2.diff.gz]
copy

SYNOPSIS

combinediff [options] diff1 diff2

DESCRIPTION

combinediff creates a unified diff expressing the sum of two diffs. The second patch must be relative to files after the first patch was applied. Part of patchutils package.

PARAMETERS

-p n, --strip-match n

Ignore first n path components when comparing filenames
-U n, --unified n
Display n lines of context
-d pat, --drop-context pat
No context for files matching pattern
-q, --quiet
Suppress output
-i, --ignore-case
Case-insensitive comparison
-w, --ignore-all-space
Ignore whitespace changes
-b, --ignore-space-change
Ignore changes in whitespace amount
-B, --ignore-blank-lines
Ignore blank line changes
-z, --decompress
Decompress .gz and .bz2 files
--interpolate
Run as interdiff instead
--help
Display help
--version
Show version

REQUIREMENTS

Input patches must be in strict incremental order. Requires at least 3 lines of context for best results. Output is always unified format.

CAVEATS

Needs clean GNU diff output. Part of patchutils package (not pre-installed). Use recountdiff to fix hand-edited patches first.

SEE ALSO

diff(1), patch(1), interdiff(1)

Copied to clipboard