# /etc/etc-update.conf: config file for `etc-update` utility
# edit the lines below to your liking

# mode - 0 for text, 1 for menu (support incomplete)
# note that you need dev-util/dialog installed
mode="0"

# Whether to clear the term prior to each display
#clear_term="yes"
clear_term="no"

# Whether trivial/comment changes should be automerged
eu_automerge="yes"

# arguments used whenever rm is called
rm_opts="-i"

# arguments used whenever mv is called
mv_opts="-i"

# arguments used whenever cp is called
cp_opts="-i"

# pager for use with diff commands
pager="less"
#pager=""

# For emacs-users (see NOTE_2)
# diff_command="eval emacs -nw --eval=\'\(ediff\ \"%file1\"\ \"%file2\"\)\'"
#using_editor=1

# vim-users: you CAN use vimdiff for diff_command. (see NOTE_1 and NOTE_2)
#diff_command="vim -d %file1 %file2"
#using_editor=1

# If using colordiff instead of diff, the less -R option may be required
# for correct display (see 'pager' setting above).
diff_command="diff -uN %file1 %file2"
using_editor=0


# vim-users: don't use vimdiff for merging (see NOTE_1)
merge_command="sdiff -s -o %merged %orig %new"

# EXPLANATION
#
# pager:
#
# Examples of pager usage:
#	pager=""		# don't use a pager
#	pager="less -E"	# less
#	pager="more"	# more
#
#
# diff_command:
#
# Arguments:
#	%file1	[REQUIRED]
#	%file2	[REQUIRED]
#
# Examples of diff_command:
#	diff_command="diff -uN %file1 %file2"	# diff
#	diff_command="vim -d %file1 %file2"		# vimdiff
#
#
# merge_command:
#
# Arguments:
#	%orig	[REQUIRED]
#   %new    [REQUIRED]
#	%merged	[REQUIRED]
#
# Examples of merge_command:
#	merge_command="sdiff -s -o %merged %old %new"	# sdiff
#

# NOTE_1: Editors such as vim/vimdiff are not usable for the merge_command
# because it is not known what filenames the produced files have (the user can
# choose while using those programs)

# NOTE_2: Make sure using_editor is set to "1" when using an editor as
# diff_command!
