From 58f4cc3edcbcec3eeafd5aa87ac0b644d58cb82e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 15 Nov 2008 06:03:23 +0000 Subject: Bug #173284 - Do not traverse hidden directories such as .svn or .git when search for protected files. (trunk r11927:11929) svn path=/main/branches/2.1.6/; revision=11930 --- bin/etc-update | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'bin/etc-update') diff --git a/bin/etc-update b/bin/etc-update index cb58d13f1..4d29007f9 100755 --- a/bin/etc-update +++ b/bin/etc-update @@ -50,17 +50,19 @@ scan() { for path in ${CONFIG_PROTECT} ; do path="${ROOT}${path}" - find_opts="-iname ._cfg????_*" + # Do not traverse hidden directories such as .svn or .git. + find_opts="-name .* -type d -prune -o -name ._cfg????_*" if [ ! -d "${path}" ]; then [ ! -f "${path}" ] && continue my_basename="${path##*/}" path="${path%/*}" - find_opts="-maxdepth 1 -iname ._cfg????_${my_basename}" + find_opts="-maxdepth 1 -name ._cfg????_${my_basename}" fi ofile="" # The below set -f turns off file name globbing in the ${find_opts} expansion. - for file in $(set -f; find ${path}/ ${find_opts} ! -iname '.*~' ! -iname '.*.bak' | + for file in $(set -f ; find ${path}/ ${find_opts} \ + ! -name '.*~' ! -iname '.*.bak' -print | sed -e "s:\(^.*/\)\(\._cfg[0-9]*_\)\(.*$\):\1\2\3\%\2\%\3:" | sort -t'%' -k3 -k2 | LANG=POSIX LC_ALL=POSIX cut -f1 -d'%'); do -- cgit v1.2.3-1-g7c22