#!/bin/zsh

x=( $(portageq envvar CONFIG_PROTECT_MASK) )
x=( ${x[@]%%/} )
x=${(j/ -or /)x[@]/\//-path \/}
x=( ${(s/ /)x} )
for cfg_new in $(find $(portageq envvar CONFIG_PROTECT) \
	\( ${x} \) -prune -or \( \( -name "._mrg????_*" -o -name "._cfg????_*" \) -print \)) ; do
	cfg=$(basename "$cfg_new")
	cfg=$(dirname "$cfg_new")/"${cfg##\._???????_}"
	if [ -e "$cfg" ] ; then
		vimdiff "$cfg_new" "$cfg"
		echo -n "Remove $cfg_new [y]? "
		read ret
		if [ "${ret:-y}" = "y" ] ; then
			rm -v "$cfg_new"
		else
			echo "keep $cfg_new"
		fi
	else
		echo "stale file $cfg_new"
	fi
done
