CCP is a program that reads configuration files and upgrades them.
It takes a oldfile (typically the old configuration file currently in
use) and a newfile (typically the default new configuration file) and
optionally a template (a file which tells ccp how the generated
configuration file should look like. It is generated on-the-fly if a template
isn't supplied, so it is usually not needed). CCP first reads all the
configuration options and values in the new file, then in the old file,
then it either generates the template or reads the supplied template
file, finally it merges the files into one - creating a new
configuration file that has the changes that was made to the old file
but also the new options that is included in the new file.
CCP is completely independent of the program that created the
configuration file, and can be used for many different purposes. For
instance it can be used to merge changes between an old user-edited
configuration file and a .rpmnew file generated by rpm when a
rpm was upgraded.
CCP currently supports:
key = value configs (--type keyvalue)
and ini configs (--type ini)