diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-11-15 06:03:23 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-11-15 06:03:23 +0000 |
commit | 58f4cc3edcbcec3eeafd5aa87ac0b644d58cb82e (patch) | |
tree | c95bec52854136b2c27d651d8b9102f93e32627c /bin/etc-update | |
parent | 2342c61cd4af94e4f1db325f57c1d2af882229f1 (diff) | |
download | portage-58f4cc3edcbcec3eeafd5aa87ac0b644d58cb82e.tar.gz portage-58f4cc3edcbcec3eeafd5aa87ac0b644d58cb82e.tar.bz2 portage-58f4cc3edcbcec3eeafd5aa87ac0b644d58cb82e.zip |
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
Diffstat (limited to 'bin/etc-update')
-rwxr-xr-x | bin/etc-update | 8 |
1 files changed, 5 insertions, 3 deletions
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 |