.TH "DISPATCH-CONF" "1" "Jan 2011" "Portage VERSION" "Portage"
.SH "NAME"
dispatch\-conf \- Sanely update configuration files after emerging new packages
.SH "SYNOPSIS"
.B dispatch\-conf
.SH "DESCRIPTION"
\fIdispatch\-conf\fR is designed to be run after merging new packages
in order to see if there are updates to the configuration files.
If a new configuration file will overwrite an old one, \fIdispatch\-conf\fR
will prompt the user for a decision about how to resolve the discrepancy.
Advantages of \fIdispatch\-conf\fR include easy rollback (changes to config
files are stored either using patches or rcs) and the ability to
automatically update config files that the user has never modified or
that differ from the current version only in CVS cruft or white space.

\fIdispatch\-conf\fR will check all directories in the \fICONFIG_PROTECT\fR
variable.  All config files found in \fICONFIG_PROTECT_MASK\fR will
automatically be updated for you by \fIdispatch\-conf\fR.  See
\fBmake.conf\fR(5) for more information.
.SH "OPTIONS"
.TP
None.
.SH "USAGE"
\fIdispatch\-conf\fR must be run as root, since the config files to be
replaced are generally owned by root.  Before running \fIdispatch\-conf\fR
for the first time the settings in \fB/etc/dispatch\-conf.conf\fR
should be edited and the archive directory specified in 
\fB/etc/dispatch\-conf.conf\fR will need to be created.  All changes to
config files will be saved in the archive directory either as patches
or using rcs, making restoration to an earlier version rather simple.

When \fIdispatch\-conf\fR finds a config file that has a new update the user
is provided with a menu of options for how to handle the update:
.TP
.B u
Update (replace) the current config file with the new config file and continue.
.TP
.B z
Zap (delete) the new config file and continue.
.TP
.B n
Skip to the next config file, leaving both the original config file and any
\fICONFIG_PROTECT\fRed files.
.TP
.B e
Edit the new config file, using the editor defined in \fIEDITOR\fR.
.TP
.B m
Interactively merge the current and new config files.
.TP
.B l
Look at the differences between the pre-merged and merged config files.
.TP
.B t
Toggle between the merged and pre-merged config files (in terms of which
should be installed using the \fBu\fR command).
.TP
.B h
Display a help screen.
.TP
.B q
Quit \fIdispatch\-conf\fR.
.SH "FILE MODES"
\fBWARNING:\fR When \fB/etc/dispatch\-conf.conf\fR is configured
to use \fBrcs\fR(1), read and execute permissions of archived
files may be inherited from the first check in of a working file,
as documented in the \fBci\fR(1) man page. This means that even
if the permissions of the working file have since changed, the
older permissions of the first check in may be inherited. As
mentioned in the \fBci\fR(1) man page, users can control access
to RCS files by setting the permissions of the directory
containing the files.
.SH "REPORTING BUGS"
Please report bugs via http://bugs.gentoo.org/
.SH "AUTHORS"
.nf
Jeremy Wohl
Karl Trygve Kalleberg <karltk@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
Grant Goodyear <g2boojum@gentoo.org>
.fi
.SH "FILES"
.TP
.B /etc/dispatch\-conf.conf
Configuration settings for \fIdispatch\-conf\fR are stored here.
.SH "SEE ALSO"
.BR make.conf (5),
.BR ci (1),
.BR etc-update (1),
.BR rcs (1)
