#
# dispatch-conf.conf
#

# Directory to archive replaced configs
archive-dir=${EPREFIX}/etc/config-archive

# Use rcs for storing files in the archive directory?
# WARNING: When configured to use rcs, read and execute permissions of
# archived files may be inherited from the first check in of a working
# file, as documented in the ci(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 ci(1) man page, users can control access to RCS files by setting
# the permissions of the directory containing the files (see
# archive-dir above).
# (yes or no)
use-rcs=no

# Diff for display
# %s old file
# %s new file
# If using colordiff instead of diff, the less -R option may be required
# for correct display.
diff="diff -Nu '%s' '%s'"

# Set the pager for use with diff commands (this will
# cause the PAGER environment variable to be ignored).
# Setting pager="cat" will disable pager usage.
pager=""

# Default options used if less is the pager
less-opts="--no-init --QUIT-AT-EOF"

# Diff for interactive merges.
# %s output file
# %s old file
# %s new file
merge="sdiff --suppress-common-lines --output='%s' '%s' '%s'"

# Automerge files comprising only CVS interpolations (e.g. Header or Id)
# (yes or no)
replace-cvs=yes

# Automerge files comprising only whitespace and/or comments
# (yes or no)
replace-wscomments=no

# Automerge files that the user hasn't modified
# (yes or no)
replace-unmodified=no

# Ignore a version that is identical to the previously merged version,
# even though it is different from the current user modified version
# Note that emerge already has a similar feature enabled by default,
# which can be disabled by the emerge --noconfmem option.
# (yes or no)
ignore-previously-merged=no

# Per-session log file of changes made to configuration files
#log-file=/var/log/dispatch-conf.log

# List of frozen files for which dispatch-conf will automatically zap updates
#frozen-files=""
