#!/bin/bash

#!/login
#!/register

A Conflict And Dependency Patch-Tester

a patch conflict and dependency detection tool

A shell script that can test-apply a large set of patches against a given directory and detect all dependencies and conflicts between patches.

It’s main features are:
- independent of any certain patch format: it solely relies on patchutils to perform tests
- does not rely on patches being pre-sorted
- does not modify any files, all tests are done in a (partial) on-the-fly copy of the directory
- it detects alternative patches, e.g. when patch b would apply if patch a1 or patch a2 were applied
- it detects if a patch depends on several patches which themselves don’t depend on each other
- it detects conflicts, where one patch does not apply when another is already applied
- it writes test results to an easy to parse log file for postprocessing

Usage:
Patch-Groups [ -patchdir <pd> ] [ -basedir <bd> ] [ -outdir <od> ] [ -p <p0> ]

Test-applies all *.patch files in <pd> to (a copy of) the directory <bd>.
<pd>, <bd> and <od> must be absolute filenames. The defaults are sm-patches, the local directory and outdir.
Patches are supposed to apply with the -p patch option (-p0 is the default).
Patch filenames must not contain white-space, and currently no patch name must
be a part of another patch name (abc.patch and bc.patch is bad).
fixdiff_*.patch files are ignored.
All output and temporary files will be written to <od>.

WARNING: everything in outdir/testdir (<od>/testdir) will be deleted!

Project Category: tool

Wiki at shellscripts.org

Project owner: stf

[subscribe]

[RSS Feed for new releases]

Version history:
Version Release date ChangeLog Download
0.7.5.1Sun Mar 12 17:32:05 UTC 2006Changes to pre-0.7 versions: - parse options with GNU getopt (from util-linux) - perform sanity checks on options and the environment (e.g. missing programs) - exhaustive_dependency_test() now implements a non-recursive, easier to understand algorithm that should produce correct results in all cases - conflict_test() will note how to avoid conflicts between patches, if possible (e.g. if patches A and B apply independently and patch B applies after patch A was applied, but not vice versa). - unneeded code like combine() and patch group creation are removed, for simplicity’s sake Patch-Tester-0.7.5 (application/octet-stream)
0.7.5Sun Mar 12 17:26:45 UTC 2006Patch-Tester-0.7.5 (application/octet-stream)
0.7.1Fri Mar 10 23:11:11 UTC 2006update long explanationPatch-Tester (application/octet-stream)
0.7Fri Mar 10 23:01:24 UTC 2006Patch-Tester (application/octet-stream)