#!/bin/sh
# $Id: fix-directory-timestamps,v 1.11 2019/08/22 19:09:35 friedman Exp $

ignore='CVS RCS {arch} .svn _MTN .git .hg'
ignore_meta='MD5SUM SHA1SUM SHA256SUM TRANS.TBL fonts.dir fonts.scale FETCH_HEAD'

while :; do
  case $1 in
    -i ) ignore="$ignore $2"   ; shift ; shift ;;
    -m ) ignore="$ignore $ignore_meta" ; shift ;;
    *  ) break ;;
  esac
done

find_ign=`for i in $ignore; do echo ! -name $i  ; done`
sed_ign=` for i in $ignore; do echo "/^$i\$/d;" ; done`

find ${1+"$@"} $find_ign -type d -print \
  | sort -r \
  | while read d; do
     nfile=`ls -1AtF "$d" | sed -e '/[@\/]$/d' \
                                -e 's/[*@=\/|>]$//' \
                                -e "$sed_ign" \
                                -e q`
     case $nfile in
       '' ) : ;;
       * ) touch -r "$d/$nfile" "$d" ;;
     esac
   done

# eof
